假设我在远程机器上运行以下命令,目的是防止在断开终端连接时终止作业。
nohup ./my_script.sh &
当我尝试退出终端时,收到以下警告:
zsh: you have running jobs
我想那没问题。它只是告诉我,我有一个作业/进程在后台运行。如果我断开终端连接,作业/进程将继续运行,对吗?
答案1
是的,没关系。子进程将收到 HUP 信号,但由于您的nohup
.
如果您不想看到该消息,只需将作业 ID 传递给disown
,如下所示:
disown %1
&!
或者,使用(zsh 特定技巧)开始工作:
nohup ./my_script.sh &!