我经常有这样的需求,通过ssh连接到服务器上,运行一个脚本。 因为脚本要运行很久,所以就丢在那里,看着打印输出。 一会儿不管他,电脑就进入休眠了,网络也就断了,ssh就断了,服务器运行的进程也挂了。 有没有什么办法,可以让这种情况下进程不死,然后再次练上去还可以继续看脚本运行的打印
闭关修行中......
準備運行 nohup xxx &
如果已經運行了 ctrl z 暫停 jobs 看到暫停任務的id bg id disown id #注:不加這句的話,終端結束時進程會收到SIGHUP,該信號對應的默認操作就是結束進程
除了nohup之外也可以用setsid,但是最好的還是用screen這類東西。
lz需要的是tmux或者screen
試一下nohup
nohup - run a command immune to hangups, with output to a non-tty
http://www.21andy.com/blog/20071121/6...
裝個screen吧 參見:http://www.ibm.com/developerworks/cn/...
腳本最後加上 &
找個東西壓著鍵盤。。。
tmux 或者 screen
byobu 隻是一個 tmux/screen 的美化包裝
這是因為ssh有時間長度,如果一段時間內客戶端沒有響應,服務器就會斷掉連接。 /etc/ssh/ssh_config中加入 ServerAliveInterval 60 一行,就可以了
byobu 你值得擁有! 比screen更好用
setsid - 在新會話中運行程序
準備運行
nohup xxx &
如果已經運行了
ctrl z 暫停
jobs 看到暫停任務的id
bg id
disown id #注:不加這句的話,終端結束時進程會收到SIGHUP,該信號對應的默認操作就是結束進程
除了nohup之外也可以用setsid,但是最好的還是用screen這類東西。
lz需要的是tmux或者screen
試一下nohup
http://www.21andy.com/blog/20071121/6...
裝個screen吧
參見:http://www.ibm.com/developerworks/cn/...
腳本最後加上 &
找個東西壓著鍵盤。。。
tmux 或者 screen
byobu 隻是一個 tmux/screen 的美化包裝
這是因為ssh有時間長度,如果一段時間內客戶端沒有響應,服務器就會斷掉連接。
/etc/ssh/ssh_config中加入
ServerAliveInterval 60
一行,就可以了
byobu 你值得擁有! 比screen更好用
setsid - 在新會話中運行程序