Làm thế nào để nohup một kịch bản
2024-10-24 10:54:32
tin tức
tiyusaishi
"Cách sử dụng lệnh nohup để chạy các tập lệnh trong nền" bài viết dài bằng tiếng Trung
I. Giới thiệu
Với việc sử dụng rộng rãi các hệ thống Linux, nhu cầu ngày càng tăng đối với nhiều người dùng để chạy các chương trình hoặc tập lệnh trong nền. Trong những tình huống này, lệnh nohup rất hữu ích. Nó cho phép bạn chạy các tập lệnh trong nền sẽ tiếp tục chạy ngay cả khi bạn thoát khỏi thiết bị đầu cuối hoặc đóng phiên. Bài viết này sẽ trình bày chi tiết cách sử dụng lệnh nohup để chạy các tập lệnh trong nền.
2. Lệnh nohup là gì?
nohup là một lệnh Unix / Linux, tên đầy đủ của nó là "nohangup", có nghĩa là nó không bị ảnh hưởng bởi hoạt động gác máy. Nó có thể chạy các lệnh hoặc tập lệnh trong nền và vẫn chạy sau khi bạn thoát khỏi thiết bị đầu cuối. Điều này rất hữu ích cho các tập lệnh hoặc chương trình chạy dài cần được tiếp tục chạy.
Phần 3: Làm thế nào để sử dụng lệnh nohup?
Sử dụng lệnh nohup rất đơn giản. Cú pháp cơ bản là:
''Vỏ
nohupcommand>/dev/null2>&1&
```
Trong đó:
lệnh: Tập lệnh hoặc chương trình bạn cần chạy.
>/dev/null: Chuyển hướng đầu ra đến một thiết bị trống, nghĩa là bạn sẽ không thấy bất kỳ đầu ra nào trong thiết bị đầu cuối. Nếu bạn muốn xem đầu ra, bạn có thể chuyển hướng nó đến một tệp.
2>&1: Chuyển hướng đầu ra lỗi tiêu chuẩn sang đầu ra tiêu chuẩn. Bằng cách này, thông báo lỗi cũng sẽ được ghi lại và lưu vào tệp đầu ra. Nếu không, một thông báo lỗi có thể xuất hiện trên thiết bị đầu cuối.
&: Đặt lệnh trong nền để chạy. Điều này có nghĩa là ngay cả khi bạn đóng thiết bị đầu cuối, lệnh vẫn sẽ tiếp tục chạy.
Ví dụ: giả sử bạn có một tập lệnh được gọi là script.sh và bạn có thể chạy nó như sau:
''Vỏ
nohup./script.sh>output.log2>&1&
```
Trong ví dụ này, script.sh chạy trong nền và tất cả đầu ra và lỗi được ghi lại và lưu vào tệp output.log. Ngay cả khi bạn đóng thiết bị đầu cuối hoặc ngắt kết nối khỏi SSH, tập lệnh sẽ tiếp tục chạy. Bạn có thể sử dụng lệnh 'ps' để xem tập lệnh có đang chạy hay không. Nếu bạn muốn chấm dứt nó, bạn có thể sử dụng lệnh 'giết' để chấm dứt quá trình. Ngoài ra, bạn cũng có thể sử dụng 'nohup' để xem vị trí nhật ký đầu ra và nội dung của nohup. Bạn có thể sử dụng lệnh sau để xem nội dung nhật ký: tail-fnohup.out (nhật ký đầu ra của nohup được đặt tên là nohup.out theo mặc định). Điều này rất hữu ích cho việc gỡ lỗi, vì bạn có thể thấy trạng thái đang chạy của tập lệnh và bất kỳ thông báo lỗi nào có thể xảy ra. Sử dụng Ctrl+C để dừng xem nội dung nhật ký. Nếu tệp nhật ký lớn, bạn có thể cần sử dụng một công cụ khác như ít hơn hoặc nhiều hơn để xem nó nhằm tránh các vấn đề về hiệu suất. Bạn cũng có thể sử dụng các tùy chọn khác của Nohup để kiểm soát đường dẫn tệp đầu ra và tên tệp, v.v. Bạn có thể xem tất cả các tùy chọn có sẵn và thông tin chi tiết hơn bằng cách chạy 'nohup--help'. Cần lưu ý rằng Để tránh những vấn đề này, bạn có thể muốn xem xét triển khai chương trình của mình trong môi trường hệ thống với môi trường và quyền cần thiết hoặc sử dụng các giải pháp nâng cao khác như bộ chứa Docker để quản lý chương trình của bạn, đây thường là một thủ thuật rất thiết thực khi thoát phiên, cho dù trên máy chủ hay PC, cho phép bạn dễ dàng khởi động và giám sát các chương trình hoặc tác vụ trong thời gian dài mà không phải đợi trước thiết bị đầu cuốiHướng dẫn chi tiết về kịch bản dòng hy vọng sẽ hữu ích cho bạn, nếu bạn có bất kỳ câu hỏi nào khác hoặc cần giải thích thêm, vui lòng đặt câu hỏi cho tôi và tôi sẽ cố gắng hết sức để giúp đỡ