上一篇
1. Hiểu lệnh nohup là gì
Trong Linux, chúng ta thường sử dụng lệnh nohup để chạy một tiến trình chạy trong nền. Quá trình này tiếp tục chạy bất kể thiết bị đầu cuối tiền cảnh có bị sập hay không. Điều này rất hữu ích cho người dùng đăng nhập từ xa hoặc tạm thời rời khỏi thiết bị đầu cuối. Tuy nhiên, có thể có những lúc chúng ta cần dừng một quá trình chạy trong nền của Nohup vì một số lý do. Bài viết này sẽ giới thiệu chi tiết cho bạn về cách dừng quá trình của lệnh nohup trong hệ thống Linux.
2. Kiểm tra quá trình nohup hiện đang chạy
Trong Linux, chúng ta có thể thấy những tiến trình nào hiện đang chạy thông qua các công cụ như lệnh ps. Để xem những tiến trình nào đang chạy trong nền của nohup, bạn có thể sử dụng lệnh sau:
''Ầm ầm
psaux|grepnohup
```
Điều này sẽ liệt kê tất cả thông tin quá trình có chứa từ khóa nohup, bao gồm ID quy trình (PID). Đây là một thông điệp quan trọng để ngăn chặn các quá trình này. Hãy nhớ rằng bạn cần đảm bảo rằng kết quả tìm kiếm của bạn chứa PID thực tế của quá trình, ví dụ: cột đầu tiên của đầu ra sau đây là PID:
''Ầm ầm
tên người dùngPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
tên người dùngXXXXXXXXXXXXXXXXpts/XSXX:XXXX:XXnohupyour_command&
```
Vui lòng thay thế XXXX ở trên bằng số thực tế để bạn biết quá trình nào bạn muốn chấm dứt. Chúng ta có thể chấm dứt quá trình dựa trên PID này bằng lệnh kill. Đó là nơi chúng ta cần vị trí thực tế của quy trình hiện tại (tự thay thế PID). Tiếp theo, chúng tôi sẽ chỉ cho bạn cách dừng các quá trình này.
3. Dừng quá trình chạy nohup
Khi chúng ta đã xác định PID của tiến trình mà chúng ta muốn chấm dứt, chúng ta có thể sử dụng lệnh kill. Nói chung, bạn có thể chỉ cần chạy một lệnh như thế này trên dòng lệnh:
''Ầm ầm
giết PID
Nếu bạn không chắc chắn mình nên sử dụng tín hiệu nào để kết thúc quá trình của mình (có thể là ctrl + c hoặc lệnh kill không hoạt động), bạn có thể sử dụng "kill-9" để buộc quá trình kết thúc. "Kill-9" là một lệnh mạnh mẽ sẽ ngay lập tức kết thúc quá trình, vì vậy hãy sử dụng nó một cách cẩn thận:
''Ầm ầm
tiêu diệt-9PID
Nếu các bước trên vẫn không kết thúc quá trình của bạn, thì có thể quá trình đang chạy một số cơ chế bảo vệ đặc biệt hoặc có một số vấn đề cấp hệ thống khác. Trong trường hợp này, bạn có thể cần tìm kiếm sự trợ giúp chuyên nghiệp hơn hoặc kiểm tra nhật ký hệ thống để tìm ra nguồn gốc của sự cố. Thứ tư, một số trình khắc phục sự cố phổ biến có thể gặp phải một số vấn đề khi dừng một quá trình chạy trong nền của Nohup. Ví dụ, nếu vì lý do nào đó chúng ta không thể xác định PID chính xác, chúng ta có thể thử sử dụng lệnh pgrep với tên tiến trình để tìm PID: ''bashpgrepyour_command_name'', để chúng ta có thể trực tiếp tìm PID của tiến trình, sau đó sử dụng lệnh kill để chấm dứt nó. Ngoài ra, nếu bạn gặp sự cố về quyền khi sử dụng các lệnh này (chẳng hạn như không đủ quyền), bạn có thể thử sử dụng tiền tố sudo để có được các quyền cần thiết: bashsudokillPID hoặc bashsudokill-9PID 5. Trong Linux, lệnh nohup cung cấp một cách để giữ cho quá trình chạy trong nền. Tuy nhiên, khi bạn cần dừng các quá trình này, bạn có thể sử dụng các lệnh ps, grep và kill được đề cập trong bài viết này. Hãy nhớ thận trọng trước khi kết thúc bất kỳ quy trình nền nào để đảm bảo rằng bạn không vô tình làm gián đoạn các dịch vụ hoặc ứng dụng hệ thống quan trọng. Hy vọng bài viết này sẽ giúp bạn quản lý và kiểm soát tốt hơn các tiến trình đang chạy trong nền của nohup trên hệ thống Linux của bạn.