暂停 SSH 会话

暂停 SSH 会话

我刚刚启动了长时间运行的进程。我创建了 ssh 并长时间进入 ssh 会话,创建了多个屏幕,运行了所有程序,然后使用 (ctr + A + D) 分离。但是当我恢复 (screen + r) 并尝试查看我的输出时,服务器变得很慢。所有进程都在运行,但还没有一个完成。最后我决定暂停一些屏幕并运行其中的几个,以便尽快完成程序的运行。

是否可以暂停一些正在运行的进程,我需要帮助。

答案1

您可以向进程发送信号来停止(暂停)它们:

kill -SIGSTOP <PID>

稍后要继续该过程,请执行以下操作:

kill -SIGCONT <PID>

来自信号手册页(man 7 signal):

   SIGCONT   19,18,25    Cont    Continue if stopped
   SIGSTOP   17,19,23    Stop    Stop process

当然,这只有在您运行的程序正确处理这些信号时才会起作用。另一种方法是在启动进程的 shell 上按 CTRL-Z。这将停止它们。使用“bg”,您可以在后台重新启动它们,也可以使用“fg”在前台重新启动它们。

希望有所帮助。

相关内容