暫停 SSH 會話

暫停 SSH 會話

我剛剛啟動了長時間運行的流程。我創建 ssh 並長入 ssh 會話,並創建多個螢幕並運行所有程式並使用(ctr + A + D)分離。但是當我恢復(屏幕+ 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”在前台再次啟動它們。

希望有幫助。

相關內容