我意外地关闭了一个终端窗口,在那里我限制了并行作业的cpu使用。现在,如果我在一个新的终端窗口中ps -e S,我可以看到该工作如下:
311029 pts/0 TN+ 275:25 jobname有办法恢复吗?我已经尝试过fg、bg、jobs,但是我不知道这些命令是干什么的,而且在任何情况下它们都不会恢复工作。
发布于 2022-03-31 13:21:56
您为TN+显示的输出中的ps表示了三种情况。这三个字符是“进程标志”,每个字符都显示所显示的进程的特征。完整的列表可在第7节的ps手册页上找到。在相关部分,它们是:
被作业控制信号阻止的
TN低优先级(对其他用户很好)+在前台进程组中。
这里的相关标志是T,它指示作业已停止。由于进程没有分配给您目前正在使用的终端,因此为了大多数实际目的,很难将进程分流到另一个终端,但您可能会唤醒挂起的进程,让它注意到它的终端已经消失--当终端实际离开时,它应该注意到这一点。
首先,尝试用SIGCONT继续这个过程:
$ kill -CONT 311029其次,不管这是否有效,您可以通过手动发送SIGHUP并希望它在其自身之后适当清理,从而重新声明它的无家可归状态:
$ kill -HUP 311029fg和jobs没有对该进程采取行动的原因是,您的当前shell对所讨论的进程没有任何所有权--它是(或者更确切地说是)由另一个(很久以前就死了的) shell进程拥有的。
https://unix.stackexchange.com/questions/697485
复制相似问题