Có thể nào nohup ghi cả đầu ra vào tệp nohup.out AND vào màn hình / thiết bị đầu cuối không?


22

Tôi đang sử dụng bashvỏ. Tôi thường xuyên sử dụng nohupđể đảm bảo rằng các quy trình của tôi không bị dừng khi tôi đóng shell / terminal khởi động chúng. Tôi sử dụng một cú pháp như:

nohup myprocess

Khi bắt đầu, nohupđưa ra thông báo:

nohup: ignoring input and appending output to 'nohup.out'

Sau đó, nohupkhông cung cấp thêm đầu ra cho màn hình; tất cả được viết cho nohup.out.

Tuy nhiên, thường xuyên, tôi muốn theo dõi tiến trình tính toán của tôi. Tôi có thể làm điều này bằng cách đọc nohup.outbằng cách sử dụng vihoặc tail, nhưng điều này có thể tốn thời gian để làm rất nhiều, đặc biệt là khi tính toán của tôi mất vài giờ.

Có cách nào để tôi có thể in đầu ra cho cả hai nohup.out (trong trường hợp tôi bị mất kết nối internet và do đó thiết bị đầu cuối bắt đầu quá trình được đóng lại) vào màn hình không? Cảm ơn vì đã dành thời gian cho tôi.


3
Bạn đã cân nhắc sử dụng screenhoặc tmuxthay vì nohup?
derobert

@derobert Cảm ơn. Tôi có screentrên hệ thống của mình, nhưng tôi chưa bao giờ sử dụng nó. Tôi không có tmuxtrên hệ thống của mình, nhưng tôi có thể cố gắng để có được nó.
Andrew

2
Chỉ cần khởi chạy screen/ tmuxgiữa đăng nhập và bắt đầu myprocess. Sau đó tách khỏi nó với prefix, d. screenTiền tố là Ctrl-A, trong khi tmuxtiền tố là Ctrl-B. Bạn có thể đăng xuất nhưng miễn là máy vẫn hoạt động, screen/ tmuxphiên của bạn cũng vậy. Lần tới khi bạn đăng nhập, bạn có thể gắn lại screen/ tmuxshell, thông qua screen -rhoặc tmux attach.
jw013

Câu trả lời:


20

Bạn có thể chạy

nohup yourprocess & tail -f nohup.out

tail -f rất tuyệt, tiếc là tôi không hiển thị đúng ký tự điều khiển
Adam Hunyadi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.