2012-08-13 47 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>」命令輪詢以查看它是否仍然存在。