TN+您显示的输出中的表示ps三件事。这三个字符是“进程标志”,每个字符都显示了所示进程的特征。完整列表可以在手册页第 7 节中找到。ps在相关部分中,它们是:
T由作业控制信号停止
N低优先级(对其他用户有利)
+位于前台进程组中
这里的相关标志T表示作业已停止。由于该进程未分配给您当前正在使用的终端,因此对于大多数实际目的来说,将进程分流到另一个终端是不可能的,但是您可以唤醒挂起的进程足够长的时间,以便它注意到它的状态。终端已经消失——当SIGHUP它的终端实际上消失时,它应该在发送时注意到这一点。
首先,尝试使用以下命令恢复该过程SIGCONT:
$ kill -CONT 311029
Run Code Online (Sandbox Code Playgroud)
其次,无论这是否有效,您都可以通过手动发送SIGHUP并希望它自行清理来重新断言其无家可归状态:
$ kill -HUP 311029
Run Code Online (Sandbox Code Playgroud)
fg和不作用于该进程的原因jobs是您当前的 shell 没有该进程的任何所有权 - 它是(或者更确切地说它曾经)由另一个(早已死亡的)shell 进程拥有。