![退出终端运行“nohup ./my_script &”=>“您正在运行作业”。确定退出吗?](https://linux22.com/image/73488/%E9%80%80%E5%87%BA%E7%BB%88%E7%AB%AF%E8%BF%90%E8%A1%8C%E2%80%9Cnohup%20.%2Fmy_script%20%26%E2%80%9D%3D%3E%E2%80%9C%E6%82%A8%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E4%BD%9C%E4%B8%9A%E2%80%9D%E3%80%82%E7%A1%AE%E5%AE%9A%E9%80%80%E5%87%BA%E5%90%97%EF%BC%9F.png)
假设我在远程机器上运行以下命令,目的是防止在断开终端连接时终止作业。
nohup ./my_script.sh &
当我尝试退出终端时,收到以下警告:
zsh: you have running jobs
我想那没问题。它只是告诉我,我有一个作业/进程在后台运行。如果我断开终端连接,作业/进程将继续运行,对吗?
答案1
是的,没关系。子进程将收到 HUP 信号,但由于您的nohup
.
如果您不想看到该消息,只需将作业 ID 传递给disown
,如下所示:
disown %1
&!
或者,使用(zsh 特定技巧)开始工作:
nohup ./my_script.sh &!