上一篇
Trong Linux, chạy lệnh nohup để chạy tiến trình và xem các tiến trình liên quan
I. Giới thiệu
Trong Linux, chúng ta thường cần chạy một số quy trình chạy dài trong nền, đặc biệt là khi thực hiện các thao tác từ xa. Đây là nơi lệnh nohup xuất hiện. Nó cho phép chúng ta tiếp tục chạy các lệnh sau khi thoát shell và chuyển hướng đầu ra đến một tệp để tránh mất dữ liệu. Bài viết này mô tả cách chạy các tiến trình bằng lệnh nohup và chỉ ra cách xem và quản lý các quy trình này.
2. Sử dụng lệnh nohup để chạy tiến trình
Trong thiết bị đầu cuối Linux, chúng ta có thể sử dụng lệnh nohup để chạy một quá trình tiếp tục chạy trong nền ngay cả khi chúng ta đóng thiết bị đầu cuối. Ví dụ: chúng ta có thể chạy tập lệnh Python bằng lệnh sau:
''Ầm ầm
nohuppython3myscript.py&
```
Ở đây, "python3myscript.py" là lệnh chúng ta muốn chạy và biểu tượng "&" đặt lệnh vào nền đang chạy. Bằng cách này, chúng tôi có thể đảm bảo rằng quá trình sẽ tiếp tục chạy ngay cả khi thiết bị đầu cuối đã đóng. Đồng thời, lệnh nohup chuyển hướng đầu ra của quá trình đến một tệp có tên nohup.out.
3. Kiểm tra quy trình nohup
Trong Linux, có một số cách để xem nohup đang chạy tiến trình nào. Phương pháp phổ biến nhất là sử dụng kết hợp lệnh ps và lệnh grep. Dưới đây là các bước:
1. Mở một cửa sổ terminal mới.
2. Sử dụng lệnh sau để xem quá trình nohup đang chạy:
''Perl
psaux|grep[n]ohup
```
Lệnh này sẽ liệt kê tất cả các tiến trình liên quan đến nohup. Trong danh sách này, bạn có thể tìm thấy PID (Process ID) của tiến trình bạn đang chạy. Đồng thời, bạn cũng có thể xem mức sử dụng CPU, mức sử dụng bộ nhớ và các thông tin khác của quy trình. Nếu bạn chỉ quan tâm đến một quy trình cụ thể, bạn có thể lọc kết quả bằng cách tìm kiếm các đối số dòng lệnh cho quy trình đó. Ví dụ: nếu tập lệnh Python của bạn được đặt tên myscript.py, bạn có thể sử dụng lệnh sau để tìm quy trình:
''Perl
psaux|grep[n]ohupmyscript.py
```
4. Quản lý quy trình NOHUP
Có một số cách để quản lý quá trình nohup đang chạy. Các hành động phổ biến nhất là dừng quá trình và xem nhật ký. Để dừng một quá trình, bạn cần sử dụng lệnh kill hoặc lệnh pkill để làm như sau: trước tiên tìm PID của tiến trình (bạn có thể sử dụng lệnh ps), sau đó sử dụng lệnh kill để gửi tín hiệu kết thúc đến tiến trình:
''Ầm ầm
tiêu diệt-9PID
Ở đây, tùy chọn -9 có nghĩa là gửi tín hiệu SIGKILL để buộc quá trình bị chấm dứt. Lưu ý rằng đây là hành động bắt buộc và có thể dẫn đến mất dữ liệu hoặc hỏng tài nguyên. Chỉ sử dụng phương pháp này nếu cần thiết. Bạn cũng có thể sử dụng lệnh pkill để dừng một quá trình dựa trên tên của nó:
''Ầm ầm
pkill-fmyscript.py sử dụng các đối số dòng lệnh của quy trình để khớp và dừng quá trình
Đối với việc xem nhật ký, vì nohup chuyển hướng đầu ra đến một tệp (nohup.out theo mặc định), chúng ta có thể xem trực tiếp tệp này để xem đầu ra của quy trình: catnohup.out hoặc lessnohup.out. Ngoài ra, chúng ta cũng có thể tùy chỉnh vị trí và tên của tệp nhật ký bằng cách đặt đường dẫn tệp được chuyển hướng. Ví dụ: nohuppython3myscript.py>/path/to/your/logfile.log&. Điều này sẽ khiến đầu ra được chuyển hướng đến tệp bạn đã chỉ định. Điều này rất hữu ích để theo dõi và gỡ lỗi các quy trình chạy dài. Trên đây là phần giới thiệu về cách chạy các tiến trình với lệnh nohup trên Linux và cách xem và quản lý các tiến trình này. Trong thực tế sử dụng, phương pháp thích hợp có thể được lựa chọn để vận hành và quản lý theo nhu cầu cụ thể. Đồng thời, hãy chú ý đến việc quản lý quyền trong quá trình vận hành thực tế để đảm bảo an toàn cho hệ thống. Hy vọng rằng phần giới thiệu của bài viết này sẽ giúp bạn đọc hiểu rõ hơn và sử dụng lệnh nohup trong Linux để kiểm soát và duy trì các tiến trình nền. Hy vọng nó sẽ giúp!