我知道您可以使用它nohup
在注销后继续运行作业,但是对于已经在运行的进程该怎么办?
有没有办法改变它的状态,以便它在我注销后仍继续运行?
答案1
在 Bash 中你可以disown
过程。
disown [-ar] [-h] [jobspec … ]
每个作业都
jobspec
将从活跃作业表中删除。
-h
如果 shell 收到 SIGHUP,则不会向作业发送 SIGHUP。当前作业。-a
所有-r
正在运行的作业。
也可以看看:Shell 内容:作业控制和屏幕
如果您使用 bash shell,那么您还有另一种选择(您总是这样做吗?)不要使用 nohup,而是正常运行该命令,用我们讨论过的两种方法之一将其置于后台,然后 disown -h 该作业。
$ tar cjf /backup/rob/home.tar.bz2 . & [1] 32089 $ disown -h
然后,您就可以安全地注销或关闭终端。与 nohup 一样,如果您关闭终端或注销,您将无法使用 jobs 和
%<N>
或fg <N>
命令直接访问该命令。
Stack Exchange 网络上的相关文章: