Possible Duplicate:
Prevent a background process from being stopped after closing SSH client
我有一个程序需要很长时间才能完成。
它在 ssh 上以 root 身份运行。
我希望它在我注销后继续运行,这可能吗?我该如何实现?
最佳答案
假设你有一个程序在前台运行,按 ctrl-Z,然后:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
如果只有一项作业,则无需指定作业编号。只需使用 disown -h
和 bg
。
你按 ctrl-Z。系统暂停正在运行的程序,显示作业编号和“已停止”消息并返回到 bash 提示符。
您键入 disown -h %1
命令(这里,我使用了 1
,但您会使用显示在 Stopped
消息)标记作业,因此它忽略 SIGHUP
信号(它不会因注销而停止)。
接下来,使用相同的作业号输入bg
命令;这将在后台恢复程序的运行,并显示一条消息确认。
您现在可以注销,它会继续运行..
https://stackoverflow.com/questions/954302/