Computer >> Máy Tính >  >> Hệ thống >> Linux

Nohup là gì và bạn sử dụng nó như thế nào?

Nohup là gì và bạn sử dụng nó như thế nào?

Có rất nhiều lệnh có sẵn trên hệ thống Linux. Có một số bạn sẽ sử dụng nhiều lần trong ngày và một số khác thường dành cho các trường hợp sử dụng đặc biệt. nohup là một trong những lệnh như vậy. Bạn sẽ không sử dụng nó hàng ngày, nhưng bạn sẽ biết ơn nó luôn ở bên khi bạn cần. Ở đây chúng tôi chỉ cho bạn nohup gì là gì và sử dụng nó như thế nào.

Nohup là gì?

Nohup là gì và bạn sử dụng nó như thế nào?

nohup là viết tắt của "No Hangups". Nó không phải là một lệnh mà bạn tự chạy. nohup là một lệnh bổ sung yêu cầu hệ thống Linux không dừng một lệnh khi nó đã khởi động. Điều đó có nghĩa là nó sẽ tiếp tục chạy cho đến khi hoàn tất, ngay cả khi người dùng bắt đầu nó đăng xuất. Nó phục vụ một mục đích tương tự như tmux hoặc màn hình, cho phép bạn bắt đầu một quá trình và không phải lo lắng về việc nó sẽ kết thúc nếu bạn đăng xuất hoặc bị ngắt kết nối khỏi máy chủ của mình. Cú pháp cho nohup đơn giản và trông giống như sau:

nohup sh your-script.sh &

Chú ý dấu “&” ở cuối lệnh. Điều đó sẽ di chuyển lệnh xuống nền, giải phóng thiết bị đầu cuối mà bạn đang làm việc.

nohup hoạt động với bất kỳ lệnh nào bạn chạy trong thiết bị đầu cuối. Nó có thể được chạy với các tập lệnh tùy chỉnh cũng như các lệnh hệ thống tiêu chuẩn và các tiện ích dòng lệnh. Bạn có thể sử dụng nó để bắt đầu tập lệnh kiểm tra bảo mật trên máy chủ từ xa và có thể ngắt kết nối và bỏ đi hoặc bạn có thể chỉ muốn sử dụng nó nếu bạn muốn chạy các bản cập nhật trong nền và không để chúng dừng lại vì bất cứ điều gì.

Nohup.out

Bởi vì nohup có thể tiếp tục chạy độc lập với người dùng đã khởi chạy nó, lệnh cần ở đâu đó để xuất ra bất kỳ thông báo hoặc lỗi nào. Vì không có thiết bị đầu cuối để liên kết với nó, nohup ghi lại mọi thứ vào một tệp đầu ra, nohup.out .

Theo mặc định, tệp đó nằm trong bất kỳ thư mục nào bạn đã bắt đầu lệnh. nohup.out hơi duy nhất vì nó chứa cả đầu ra tiêu chuẩn và đầu ra lỗi cùng nhau. nohup chuyển hướng cả hai đến cùng một tệp theo mặc định.

Nohup là gì và bạn sử dụng nó như thế nào?

Bạn không nhất thiết phải sử dụng nohup.out , mặc dù - nó chỉ là mặc định. Bạn có thể chỉ định đầu ra tùy chỉnh khi chạy nohup và đặt nó ở một vị trí tùy chỉnh.

nohup sh your-script.sh > /path/to/custom.out &

Đầu ra tùy chỉnh chứa chính xác dữ liệu giống như nohup.out tiêu chuẩn tệp sẽ. Điều này rất tốt cho kịch bản kiểm tra bảo mật mà tôi đã đề cập ở trên. Bạn có thể đặt tên cho nó là audit-script-output.txt trong một số loại thư mục từ xa được gắn kết và xem trạng thái bảo mật của máy chủ đó từ sự thoải mái trên máy tính xách tay của bạn thay vì xem qua cat đầu ra cả ngày.

Nohup khác Daemon như thế nào?

Đến đây, có lẽ bạn đang tự hỏi điều gì đặt nohup ngoài một quá trình daemonized. Xét cho cùng, cả hai dường như đều phục vụ cùng một mục đích nhưng thực sự thì không.

Daemon chạy liên tục trong nền. Chúng tốt nhất dành riêng cho các quy trình mà bạn không muốn thoát ra, chẳng hạn như máy chủ. Chúng cũng đòi hỏi nhiều công việc hơn để lập trình, vì vậy chúng không phù hợp nhất với các tập lệnh đơn giản một lần.

nohup là cho một mục đích sử dụng. Hãy nghĩ về một kịch bản sẽ mất nhiều thời gian để chạy nhưng cuối cùng vẫn hoàn thành. Có thể có một nhiệm vụ dài và phức tạp mà thỉnh thoảng bạn phải thực hiện và mất hàng giờ để hoàn thành. Bạn không muốn để một thiết bị đầu cuối đang mở hoặc người dùng đã đăng nhập, vì vậy bạn sử dụng nohup để giữ cho nó chạy ở chế độ nền và đưa tất cả đầu ra vào bất kỳ tệp nào bạn chọn, cho dù nohup.out mặc định hoặc vị trí bạn đã chọn.

Nếu bạn thích bản ghi này trên nohup , lợi ích và cách sử dụng của nó, hãy đảm bảo bạn xem một số nội dung Linux khác của chúng tôi, chẳng hạn như giải thích của chúng tôi về quyền đối với tệp hoặc tăng tốc máy Linux chậm.