ssh连接断开后怎么保证进程不死?
我经常有这样的需求,通过ssh连接到服务器上,运行一个脚本。
因为脚本要运行很久,所以就丢在那里,看着打印输出。
一会儿不管他,电脑就进入休眠了,网络也就断了,ssh就断了,服务器运行的进程也挂了。
有没有什么办法,可以让这种情况下进程不死,然后再次练上去还可以继续看脚本运行的打印?
解决方案
准备运行
nohup xxx &
如果已经运行了
ctrl+z
暂停
jobs
看到暂停任务的id
bg id
disown id
#注:不加这句的话,终端结束时进程会收到SIGHUP,该信号对应的默认操作就是结束进程
除了nohup
之外也可以用setsid
,但是最好的还是用screen
这类东西。