是否可以使用另一个 ssh 会话分离从一个 ssh 会话启动的进程?

是否可以使用另一个 ssh 会话分离从一个 ssh 会话启动的进程?

可能的重复:
我怎样才能否认它是一个正在运行的进程并将其关联到一个新的屏幕外壳?

我启动了从一个 ssh 会话到目标计算机的进程T。我进行 ssh 操作的系统A挂起。我使用另一台机器上的 ssh 检查,B该进程仍在运行T。现在我希望能够重新启动A而不影响进程的运行T。我忘记使用 screen 或 byobu 等。由于A当前挂起,我什至无法执行 actrl z 和 disown 或其他操作。可以做什么?我不希望进程终止,但我希望能够重新启动A已挂起的进程。

答案1

您可以尝试向进程发送 SIGCONT 信号,但正如 rozcietrzewiacz 提到的,如果进程需要终端访问,您可能需要对文件描述符进行一些处理。

杀死-继续PID

如果仍然显示为T,则可能需要用户输入。

答案2

您可以修改附加到该进程的文件描述符,但一般来说,这样做需要使用一些有点肮脏的技巧。整个概念很好地涵盖在这个问题。在您的情况下运行这样的程序是否retty会成功,取决于该程序的严格程度过程监视自己的文件描述符的状态。

相关内容