上一篇
Cách chạy tập lệnh Python bằng lệnh nohup trong môi trường Linux
Phần 1: Lệnh nohup là gì?
------
'nohup' là một công cụ dòng lệnh Linux được sử dụng để tiếp tục chạy các lệnh hoặc tập lệnh sau khi bạn thoát khỏi phiên shell. Lệnh 'nohup' giữ cho quá trình chạy bất kể phiên đầu cuối có bị đóng hay không, điều này rất hữu ích cho các tác vụ nền chạy dài. Điều này rất thiết thực cho các chương trình hoặc tác vụ trên máy chủ từ xa, vì nó đảm bảo rằng tác vụ tiếp tục chạy ngay cả sau khi kết thúc phiên SSH. Do đó, "nohup" là một công cụ đơn giản và hiệu quả để giữ cho các lệnh nền chạy. Đối với "howtorunpythonscriptinnohup", tức là cách chạy tập lệnh Python bằng lệnh nohup, chúng tôi sẽ giải thích chi tiết cho bạn bên dưới.
Phần 2: Làm thế nào để chạy các tập lệnh Python với nohup?
------------
Chạy một tập lệnh Python với 'nohup' rất đơn giản. Chỉ cần nhập lệnh sau vào dòng lệnh:
''Ầm ầm
nohuppythonyour_script.py&
```
trong đó 'your_script.py' là tên tập lệnh Python của bạn. Viết điều này có nghĩa là tập lệnh Python sẽ chạy và chạy trong nền bất kể thiết bị đầu cuối có bị đóng hay không. Biểu tượng '&' theo sau được sử dụng để đặt lệnh đang chạy trong nền. Ngay sau khi bạn gõ lệnh này vào dòng lệnh, nó sẽ ngay lập tức bắt đầu chạy tập lệnh Python của bạn và nó sẽ tiếp tục chạy ngay cả khi bạn đóng cửa sổ terminal. Ngoài ra, lệnh 'nohup' sẽ tạo một tệp có tên 'nohup.out' và lưu trữ đầu ra lệnh trong tệp này. Tệp đầu ra này sẽ được tạo tại thời điểm bạn bắt đầu chạy lệnh với 'nohup' và chứa thông tin đầu ra của chương trình (ví dụ: thông tin in của tập lệnh Python của bạn). Bạn có thể thấy tập lệnh đang chạy như thế nào trong tệp 'nohup.out'. Hãy cẩn thận sử dụng lệnh 'nohup' trên máy chủ dùng chung để tránh lãng phí tài nguyên, đặc biệt là khi bạn không cần theo dõi các tác vụ nền, hãy cân nhắc tắt đầu ra tệp để tránh tạo ra một số lượng lớn tệp nhật ký không cần thiết. Bạn có thể tắt đầu ra bằng lệnh sau:
''Ầm ầm
nohuppythonyour_script.py>/dev/null2>&1&
>/dev/null2>&1 ở đây chuyển hướng cả đầu ra tiêu chuẩn và đầu ra lỗi sang /dev/null để xóa thông tin đầu ra. Bằng cách này, ngay cả khi tập lệnh của bạn có đầu ra, nó sẽ không được ghi vào tệp. Tất nhiên, nếu một tác vụ cần chạy trong nền cần được ghi lại hoặc theo dõi để chạy trạng thái, thì cần phải giữ một tệp đầu ra. Đối với các dự án quy mô lớn hoặc quản lý tập lệnh được triển khai trong môi trường sản xuất, các công cụ lập lịch trình nhiệm vụ phức tạp hơn như cron thường được sử dụng để hoàn thành việc quản lý. Nhưng đối với các tác vụ nền đơn giản, lệnh 'nohup' chắc chắn là một công cụ rất tiện dụng. Chỉ với một dòng lệnh, bạn có thể dễ dàng quản lý các hoạt động nền và bạn không phải lo lắng về cách thiết lập daemon hoặc lập lịch trình xử lý. Bạn chỉ cần kết hợp đơn giản các tham số tương ứng để hoàn thành hầu hết các công việc lập kế hoạch và quản lý nhiệm vụ nền. Tuy nhiên, khi sử dụng cũng cần chú ý đến việc lập kế hoạch sử dụng hợp lý tài nguyên hệ thống để tránh các vấn đề và rủi ro tiềm ẩn. Hy vọng rằng, bài viết này sẽ giúp bạn hiểu cách chạy các tập lệnh Python trong Linux bằng lệnh 'nohup' và sẽ giúp bạn nắm bắt tốt hơn về cách sử dụng công cụ mạnh mẽ này.