Trước đây, tôi đã từng nohup
điều hành các công việc nền lớn, nhưng tôi nhận thấy rằng rất nhiều người sử dụng screen
trong bối cảnh này. Có screen
cung cấp một số loại lợi thế chức năng mà tôi không biết, hoặc nó chỉ là một vấn đề ưu tiên?
Trước đây, tôi đã từng nohup
điều hành các công việc nền lớn, nhưng tôi nhận thấy rằng rất nhiều người sử dụng screen
trong bối cảnh này. Có screen
cung cấp một số loại lợi thế chức năng mà tôi không biết, hoặc nó chỉ là một vấn đề ưu tiên?
Câu trả lời:
Cả hai đều có kìm và nhược điểm riêng:
không
nohup.out
.màn:
@rahmu, tôi sẽ không bao giờ đoán pid nếu muốn giết nó. Hãy chắc chắn trước khi giết một ai đó / một cái gì đó;).
Cách tốt nhất trong cả hai trường hợp cho màn hình và nohup là :
ps -eaf | grep "nohup" | grep "your proc name/keyword"
.
Sử dụng màn hình và kiểm tra những gì đang chạy trên nó.
Để kết luận, chúng là hai thứ khác nhau được tạo ra với các chương trình nghị sự khác nhau, vì vậy việc so sánh là khó khăn.
Màn hình có rất nhiều tính năng. Nó không chỉ "daemonize" một quy trình, nó còn hơn cả một trình quản lý cửa sổ cho các thiết bị đầu cuối.
Nó có thể được sử dụng nếu quá trình cần đầu vào tại một số điểm, bạn có thể đi và kiểm tra đầu ra của quy trình, kết nối lại với thiết bị đầu cuối của nó, ...
Vì vậy, không chỉ là vấn đề ưu tiên, chúng không giống nhau chút nào.
nohup
cách gỡ lỗi các trường cơ sở dữ liệu.ps ax | grep nohup
sẽ cho bạn thấy id của quá trình và bạn có thể giết nó. nohup
nhanh hơn. Lý do đơn giản là nó phụ thuộc vào kết nối internet giữa PC của bạn và máy chủ. Bất cứ khi nào internet chậm, quá trình cũng chậm.
nohup [...] > fileName.log 2>&1
là tốt. Thêm vào đó có nghĩa là đầu ra không bị mất.