退出终端运行“nohup ./my_script &”=>“你有正在运行的作业”。确定退出?

Ame*_*ina 19 zsh nohup background-process

假设我在远程机器上运行以下命令,以防止在断开终端连接时终止作业。

nohup ./my_script.sh &
Run Code Online (Sandbox Code Playgroud)

当我尝试退出终端时,收到以下警告:

zsh: you have running jobs
Run Code Online (Sandbox Code Playgroud)

我想那没问题。它只是告诉我我有一个工作/进程在后台运行。如果我断开终端,作业/进程将继续运行,对吗?

ali*_*nth 26

是的,没关系。子进程将收到一个 HUP 信号,但由于您的nohup.

如果您不想看到该消息,只需将作业 ID 传递给disown,如下所示:

disown %1
Run Code Online (Sandbox Code Playgroud)

或者,使用&!(特定于zsh 的技巧)开始工作:

nohup ./my_script.sh &!
Run Code Online (Sandbox Code Playgroud)