如何将孤立的后台进程带回前台?

时间:2012-08-13 07:15:34

标签: shell process ps

好吧,就像这样,我必须通过ssh从我家中运行一个程序进入我所在机构的服务器。我不希望我的程序在会话结束时被终止(我不知道screen)。

我所做的是按Ctrl+Z,然后输入bg,以便在后台执行。 会议终止了。现在,当我从我的机构登录并输入ps -u username时,它显示该程序仍在运行,但我无法将其置于前台。

我尝试了fgjobs,但这些命令并没有给我任何输出 请有人帮帮我..

3 个答案:

答案 0 :(得分:22)

如果您在不使用“screen”命令的情况下启动了该过程,则无法接管该过程。基本上,您无法接管在不同shell中启动的进程。

当您的会话终止时,所有bg进程都将进入分离状态。虽然您可能能够看到此类过程的详细信息,但您无法通过登录后将其转换为shell

答案 1 :(得分:9)

如果某个流程已成为孤儿,则无法重新启动"它到一个不同的shell并使用fg,bg,^ Z,^ C等来控制它。

您似乎在隐含地询问如何控制孤立的进程。由于您可以使用 ps 命令查看进程,因此您可以使用其pid。您可以使用此pid作为 kill 命令的参数,这将允许您停止,继续或终止该过程。您无法等待该过程完成,但您可以使用" kill -0< pid>"进行轮询以查看它是否仍然存在。命令。

答案 2 :(得分:5)

https://serverfault.com/questions/55880/moving-an-already-running-process-to-screen

提供另一种观点,最佳答案建议使用Reptyr。