将正在运行的进程移至后台,即使断开连接也能保持其运行

将正在运行的进程移至后台,即使断开连接也能保持其运行

您已经有一个正在运行的进程,并且您想让它在后台运行。

如果您想确保在关闭 ssh 连接后它仍能运行,您应该怎么做?

注意:当您想要做出此决定时,您已经在运行该流程。

我知道这一点,Ctrl-Z并且bg会让它在后台运行,但我仍然担心当你关闭 ssh 连接时该进程会被终止。

答案1

只需输入否认,它是 bash 内置的

如果没有选项,则每个 jobspec 都会从活动作业表中删除。如果给出了 -h 选项,则不会从表中删除每个 jobspec,但会对其进行标记,这样当 shell 收到 SIGHUP 时,就不会向该作业发送 SIGHUP。如果没有 jobspec,并且没有提供 -a 或 -r 选项,则使用当前作业。如果没有提供 jobspec,则 -a 选项表示删除或标记所有作业;没有 jobspec 参数的 -r 选项将操作限制为正在运行的作业。除非 jobspec 未指定有效作业,否则返回值为 0。

从头开始,你会这样做

- <command> & #make it run in background
- disown #make it run even if your ssh session disconnect

相关内容