上一篇
Thời gian chạy Linux sử dụng lệnh nohup trong nền
I. Giới thiệu
Trong các hệ thống Linux, chúng ta thường cần chạy một số quy trình chạy dài trong nền, chẳng hạn như một số tập lệnh hoặc chương trình nhất định. Các quá trình này có thể bị gián đoạn do người dùng thoát hoặc các lý do khác. Để giải quyết vấn đề này, chúng ta có thể sử dụng lệnh nohup để đặt quá trình đang chạy ở chế độ nền và bỏ qua tín hiệu gác máy. Bài viết này sẽ chỉ cho bạn cách chạy một tiến trình trong Linux bằng lệnh nohup trong nền và tìm hiểu về các khái niệm và lệnh liên quan khác liên quan đến nó.
2. Giới thiệu về lệnh nohup
Nohup là chữ viết tắt của "nohangup" và được sử dụng để chạy lệnh hoặc tập lệnh trong nền và bỏ qua tất cả các tín hiệu gác máy. Khi phiên đầu cuối được đóng, nohup giữ cho quá trình chạy. Việc sử dụng lệnh này rất đơn giản, chỉ cần thêm nohup trước lệnh.
3. Cách sử dụng lệnh nohup
Cú pháp cơ bản để sử dụng lệnh nohup như sau:
nohupcommand>/dev/null2>&1&
Trong đó:
1.command là một lệnh hoặc kịch bản để chạy trong nền.
2. /dev/null có nghĩa là chuyển hướng đầu ra đến một thiết bị trống, tức là loại bỏ tất cả đầu ra.
3.2>&1 có nghĩa là chuyển hướng đầu ra lỗi tiêu chuẩn sang đầu ra tiêu chuẩn. Điều này có nghĩa là thông báo lỗi cũng sẽ bị loại bỏ. Bước này rất quan trọng nếu bạn không cần xem bất kỳ đầu ra nào. Dấu "&" ở cuối chỉ ra rằng lệnh được đưa vào nền để chạy. Đây là một ví dụ cụ thể:
Giả sử chúng ta có một tập lệnh được gọi là myscript.sh và chúng ta muốn chạy nó trong nền và bỏ qua tất cả đầu ra, chúng ta có thể sử dụng lệnh sau:
nohup./myscript.sh>/dev/null2>&1&
Điều này sẽ làm cho tập lệnh myscript.sh chạy trong nền và bỏ qua tất cả đầu ra. Người dùng có thể tiếp tục thực hiện các thao tác khác trong thiết bị đầu cuối mà không bị ảnh hưởng. Ngoài ra, lệnh nohup sẽ tạo một tệp có tên nohup.out trong thư mục hiện tại, tệp này sẽ được sử dụng để lưu đầu ra của quy trình. Nếu không cần tệp, bạn có thể xóa hoặc di chuyển tệp đến vị trí khác. Ngoài ra, bạn cũng có thể chỉ định đường dẫn và tên của tệp đầu ra bằng cách sử dụng tùy chọn -d của lệnh nohup. Đối với example:nohup-dmyoutput.log./myscript.sh lưu đầu ra vào tệp có tên myoutput.log. Xin lưu ý rằng vị trí và tên của các tệp này có thể được thay đổi theo nhu cầu của bạn. Ngoài lệnh nohup, còn có một số lệnh và công cụ khác liên quan đến các tiến trình đang chạy trong nền, chẳng hạn như disown và screen, v.v. Những công cụ này cung cấp nhiều chức năng và tính linh hoạt hơn có thể được lựa chọn và sử dụng theo nhu cầu cụ thể. Tóm lại, lệnh nohup là một trong những công cụ hữu ích nhất trong Linux, có thể giúp chúng ta chạy các tiến trình trong nền và bỏ qua tín hiệu gác máy, để quá trình có thể tiếp tục chạy và tránh bị gián đoạn do đóng phiên đầu cuối. Khi sử dụng lệnh này, bạn cần định cấu hình đúng chuyển hướng đầu ra và chọn đường dẫn tệp thích hợp để lưu thông tin đầu ra của quy trình và đảm bảo rằng các lệnh và công cụ liên quan được sử dụng chính xác để hoàn thành các tác vụ cụ thể trong các môi trường và yêu cầu khác nhau. Hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn và sử dụng lệnh nohup và các công cụ, tính năng liên quan khác. Nếu bạn gặp sự cố hoặc cần thêm trợ giúp và tư vấn trong sử dụng thực tế, vui lòng tham khảo các tài liệu liên quan hoặc tìm kiếm sự trợ giúp và hỗ trợ chuyên nghiệp.