如何在给定pid的远程机器上恢复停止的作业?

时间:2013-07-25 01:15:42

标签: linux shell

我在我停止的机器上有一个进程(使用Ctrl-Z)。 ssh'ing到机器后,我该如何恢复这个过程?

3 个答案:

答案 0 :(得分:11)

您需要找到PID,然后发出kill -CONT <pid>

您可以使用ps找到PID,并使用一些选项来生成扩展输出。已停止的作业在T(或STAT)列中有S

如果你成功继续这个过程,但它不再有一个控制终端(并且它需要一个),那么它可能会挂起或进入循环:只需密切关注其CPU使用情况。

答案 1 :(得分:8)

You can type in fg to resume process.如果您有多个流程,则可以输入fg processname,(例如fg vim)或fg job_id

要查找作业ID,请使用jobs命令。

维基百科的相关引言:

  

fg是Unix和类Unix操作系统中的作业控制命令,它通过将挂起的进程置于前台来重新执行挂起的进程,从而将其标准输入和输出流重定向到用户的终端。

答案 2 :(得分:2)

要查找job-id和pid,请使用“jobs -l”,如下所示:

$ jobs -l
[1]+  3729 Stopped                 vim clustertst.cpp

第一列是job_id,第二列是pid。