Cách sử dụng nohup để chạy tập lệnh trong nền
2024-10-12 15:34:56
tin tức
tiyusaishi
Trong hệ thống Linux, chúng ta thường cần thực thi một số tập lệnh hoặc chương trình chạy dài, có thể cần chạy liên tục trong một khoảng thời gian vì nhiều lý do, chẳng hạn như tải xuống tệp, sao lưu dữ liệu và các tác vụ khác. Để đảm bảo rằng các tập lệnh hoặc chương trình này chạy ổn định trong nền, chúng ta có thể sử dụng lệnh nohup. Bài viết này sẽ trình bày chi tiết cách chạy tập lệnh trong nền bằng lệnh nohup.
1. Hiểu lệnh nohup
Trước hết, chúng ta cần hiểu ý nghĩa và chức năng cơ bản của lệnh nohup. Nohup là chữ viết tắt của "nohangup", có nghĩa là lệnh vẫn đang chạy sau khi thoát khỏi shell. Chức năng chính của lệnh này là chuyển hướng thông tin đầu ra của lệnh đến một tệp có tên nohup.out, ngăn chương trình chấm dứt bằng cách đóng thiết bị đầu cuối.
2. Cách chạy tập lệnh với nohup
Chạy một tập lệnh với lệnh nohup rất đơn giản. Giả sử chúng ta có một tập lệnh được gọi là script.sh có thể được theo sau bởi các bước sau:
1. Mở Terminal.
2. Nhập lệnh: nohup./script.sh&. Ở đây, "./script.sh" là đường dẫn của tập lệnh bạn muốn chạy và biểu tượng "&" cho biết tập lệnh đang chạy trong nền. Lưu ý rằng các tập lệnh cần phải có quyền thực thi.
3. Sau khi thực hiện lệnh này, thiết bị đầu cuối sẽ trả về jobid, có nghĩa là tập lệnh của bạn đã chạy trong nền. Tại thời điểm này, bạn có thể đóng thiết bị đầu cuối và tập lệnh sẽ tiếp tục chạy.
3. Kiểm tra kết quả chạy của nohup
Lệnh nohup sẽ lưu thông tin đầu ra của script trong file nohup.out trong thư mục hiện tại. Bạn có thể sử dụng cat, less và các lệnh khác để xem nội dung của tệp này và xem tập lệnh đang chạy như thế nào. Ví dụ: nhập catnohup.out để xem nội dung của tệp.
4. Biện pháp phòng ngừa
Khi chạy một kịch bản với nohup, bạn cần chú ý những điều sau:
1. Đảm bảo tập lệnh có quyền thực thi. Bạn có thể sử dụng lệnh chmod để thêm quyền thực thi vào tập lệnh, chẳng hạn như :chmod+xscript.sh.
2. Đảm bảo đường dẫn của tập lệnh là chính xác. Nếu tập lệnh không có trong thư mục hiện tại, bạn cần cung cấp đường dẫn đầy đủ.
3. Kiểm tra tệp nohup.out thường xuyên để xem tập lệnh đang chạy như thế nào, để các vấn đề có thể được xử lý kịp thời.
4. Nếu bạn cần dừng một tập lệnh đang chạy trong nền, bạn có thể sử dụng lệnh kill. Đầu tiên, tìm process ID (PID) của script thông qua psaux|grepscript_name và sau đó sử dụng lệnh kill để kết thúc quá trình.
5. Tóm tắt
Lệnh nohup là một công cụ mạnh mẽ giúp chúng ta chạy các tập lệnh và chương trình ổn định trong nền. Qua phần giới thiệu bài viết này, mình tin rằng các bạn đã nắm vững cách sử dụng lệnh nohup để chạy các script ở chế độ nền. Trong sử dụng thực tế, hãy chắc chắn chú ý đến các biện pháp phòng ngừa được đề cập ở trên để đảm bảo hoạt động ổn định của tập lệnh.