可能重复:
在关闭SSH客户端后阻止后台进程停止
我有一个需要很多时间才能完成的程序.它在ssh上以root身份运行.
我希望它在我退出后继续运行,这是否可能,我将如何实现这一目标?
Pau*_*ce. 329
假设您有一个在前台运行的程序,请按ctrl-Z,然后:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
Run Code Online (Sandbox Code Playgroud)
如果只有一个作业,则无需指定作业编号.只需使用disown -h和bg.
你按ctrl-Z.系统暂停正在运行的程序,显示作业号和"已停止"消息,并返回到bash提示符.
您键入disown -h %1命令(此处,我使用了a 1,但您使用了Stopped消息中显示的作业编号),这标记了作业,因此它忽略了SIGHUP信号(它不会通过注销而停止).
接下来,bg使用相同的作业号键入命令; 这将恢复程序在后台运行,并显示一条消息确认.
您现在可以注销,它将继续运行..
pax*_*blo 78
您应该尝试nohup在后台使用并运行它:
nohup sleep 3600 &
Run Code Online (Sandbox Code Playgroud)
dic*_*ciu 14
从后台开始:
./long_running_process options &
Run Code Online (Sandbox Code Playgroud)
在您退出之前拒绝该工作:
disown
Run Code Online (Sandbox Code Playgroud)
Mat*_*hen 13
你想要nohup.请参见http://nixcraft.com/linux-software/313-ssh-nohup-connection.html