Linux chạy kịch bản trong nền Nohup
2024-10-24 10:38:20
tin tức
tiyusaishi
Tiêu đề: Linux Running Scripts and Put Them in the Background (nohup) Hướng dẫn vận hành
Hệ điều hành Linux cung cấp cho chúng tôi các công cụ dòng lệnh mạnh mẽ cho phép chúng tôi thực hiện tất cả các loại tác vụ, bao gồm cả việc chạy các tập lệnh. Đôi khi chúng tôi muốn tập lệnh tiếp tục chạy trong nền ngay cả khi chúng tôi thoát khỏi thiết bị đầu cuối hoặc đóng phiên. Tại thời điểm này, chúng ta có thể sử dụng lệnh nohup để đạt được điều này. Bài viết này sẽ trình bày chi tiết cách chạy tập lệnh trong môi trường Linux và đặt nó ở chế độ nền.
1. Khái niệm cơ bản về tập lệnh Linux đang chạy
Trong các hệ thống Linux, các tập lệnh thường chứa một loạt các lệnh được thực thi theo một thứ tự cụ thể để đạt được một chức năng cụ thể. Chúng ta có thể chạy tập lệnh trực tiếp từ dòng lệnh hoặc chúng ta có thể đặt tập lệnh ở chế độ nền. Một trong những ưu điểm chính của việc chạy các tập lệnh trong nền là nó cho phép chúng ta thực hiện các tác vụ khác hoặc đóng thiết bị đầu cuối trong khi tập lệnh đang chạy.
2. Sử dụng lệnh nohup để chạy tập lệnh
Lệnh nohup là chữ viết tắt của "nohangup" và được sử dụng để chạy các lệnh trong nền, bỏ qua tất cả các tín hiệu treo máy. Điều này có nghĩa là ngay cả khi chúng tôi đóng thiết bị đầu cuối hoặc phiên, quá trình do Nohup bắt đầu sẽ tiếp tục chạy. Cú pháp cơ bản để sử dụng nohup như sau:
nohupcommand>/dev/null2>&1&
Trong đó "lệnh" là tập lệnh hoặc lệnh để chạy, ">/dev/null2>&1" là chuyển hướng đầu ra đến một thiết bị trống (tức là không có đầu ra nào được hiển thị) và biểu tượng "&" cuối cùng đặt lệnh đang chạy trong nền.
Ví dụ: nếu chúng ta có một tập lệnh được gọi là "script.sh", chúng ta có thể chạy nó như thế này:
nohup./script.sh>/dev/null2>&1&
3. Đầu ra của nohup
Khi bạn chạy một tập lệnh với nohup, nó sẽ tạo ra một tệp có tên là "nohup.out" trong thư mục hiện tại để lưu trữ đầu ra của tập lệnh. Nếu bạn muốn lưu đầu ra vào một tệp hoặc thư mục khác, bạn có thể làm như vậy bằng lệnh chuyển hướng. Chẳng hạn:
nohup./script.sh>/path/to/output.log2>&1&
4. Quản lý các quy trình nền
Sau khi đặt tập lệnh ở chế độ nền, chúng ta có thể sử dụng các lệnh khác nhau để quản lý quá trình nền, chẳng hạn như xem trạng thái quá trình (lệnh ps), chấm dứt quá trình (lệnh giết), v.v. Các lệnh này giúp chúng ta theo dõi và kiểm soát các tập lệnh đang chạy trong nền.
5. Biện pháp phòng ngừa
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.
2. Khi sử dụng lệnh nohup, hãy đảm bảo rằng đường dẫn nơi đặt tập lệnh là chính xác và tất cả các lệnh và đường dẫn được sử dụng trong tập lệnh cũng chính xác.
3. Nếu các tập lệnh cần chạy trong nền yêu cầu các biến môi trường hoặc tệp cấu hình cụ thể, hãy đảm bảo bạn đặt chúng chính xác trước khi chạy tập lệnh.
4. Kiểm tra tệp nohup.out hoặc tệp đầu ra của chuyển hướng thường xuyên để biết trạng thái chạy và thông tin đầu ra của tập lệnh.
6. Tóm tắt
Qua phần giới thiệu bài viết này, chúng ta đã học được cách sử dụng lệnh nohup trong môi trường Linux để đặt script đang chạy nền. Chúng tôi cũng đã học được những điều cơ bản về quản lý các quy trình nền tảng và những gì cần chú ý. Nắm vững các mẹo này sẽ giúp chúng ta chạy và quản lý các tập lệnh hiệu quả hơn trong hệ thống Linux. Hy vọng rằng, bài viết này sẽ giúp bạn chạy các tập lệnh trong môi trường Linux.