歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 保持進程

保持進程

日期:2017/3/3 12:40:16   编辑:Linux技術
原文:Keep Long Running UNIX Commands Alive
需求:你有一個程序要運行很長時間,你希望即使自己退出SSH連接,它也不會被殺死,而是運行到它自己結束。
我知道三種方法來保持進程:
nohup
disown
tmux

最簡單的方法: nohup

當你退出終端時,終端會向它的所有子進程發送掛起信號,這會結束掉它們。 而
nohup
能通知進程忽略掛起信號。
為了保持進程
[code]$ nohup <the command> &

默認情況下
nohup
會將標准輸出和標准錯誤重定向到當前目錄下的nohup.out文件。
這時,即使你退出終端,進程也不會被結束。你可以重新登入並
tail
nohup.out文件,你會發現它仍在運行。

不好,我忘了用nohup啟動:disown

如果你忘了用
nohup
啟動,不必擔心,
disown
會是你的朋友。唯一的缺點是你將不能重定向標准輸出。
為了保持你已啟動的進程,首先你需要暫停它,然後讓它在後台運行起來,最後
disown
即可:
[code]# press Ctrl+Z to suspend the program
$ bg
$ disown

現在可以放心地退出終端了。

復雜方法:tmux

Copyright © Linux教程網 All Rights Reserved