如何将进程与其父进程分离?

如何将进程与其父进程分离?

可能的重复:
如何否认正在运行的进程并将其关联到新的屏幕外壳?

问题是该进程不是我的活动 shell 内的作业(因为我从远程登录,因为我的 X 系统崩溃了),这意味着:我猜,,,disown& ,等。不管用。nohupCTRL+Zbgscreen

动机: 我在 gnome 终端内开始了一项长期运行的工作。我想将它与其父级分离,因为我的 X 系统已经崩溃了。我担心当我杀死 X 系统时,Gnome 桌面 + Gnome 终端 + 我珍贵的脚本也会丢失。所以我仍然可以从远程登录并希望保存脚本进程并重新启动 X。我该怎么做?

答案1

根据您用来运行作业的脚本语言,您可以使用

setpgrp()
Perl: setpgrp PID, PGRP

将正在运行的进程与控制终端分离,这样一旦启动,控制终端就可以退出而不会损害正在运行的进程。

现在,根据您所描述的内容,您将通过运行 Gnome 终端并从那里开始您的工作来拥有控制终端和 shell,因此nohup应该适合您。

相关内容