2012-08-13 101 views
23

好吧,我必须通过ssh将我的家中的程序运行到我所在机构的服务器上。当会议结束时,我不希望我的程序被终止(我不知道screen)。如何将孤立的后台进程恢复到前台?

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

我试过fgjobs但这些命令不给我任何输出。
请别人帮我..

回答

17

如果你没有使用“屏幕”命令启动过程,那么你不能接管该过程。基本上你不能接管一个在不同shell中启动的进程。

当你的会话终止时,所有的bg进程都会进入分离状态。虽然您可能能够看到此过程的详细信息,但您不能将它们登录到壳体,然后再登录

8

如果某个进程已孤立,则无法将其“重新”归入不同的shell并使用fg,bg ,^ Z,^ C等等来控制它。

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