長時間実行されるプロセスがあり、それを起動します。SSH を作成し、SSH セッションに長時間ログインして、複数の画面を作成し、すべてのプログラムを実行して、(ctr + A + D) を使用してデタッチします。しかし、(screen + r) で再開して出力を確認しようとすると、サーバーが遅くなります。すべてのプロセスは動作していますが、まだ 1 つも終了していません。そこで、実行中のプログラムをできるだけ早く終了するために、いくつかの画面を一時停止していくつか実行することにしました。
実行中のプロセスの一部を一時停止できるかどうかについて助けが必要です。
答え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
もちろん、これは実行中のプログラムがこれらのシグナルを正しく処理している場合にのみ機能します。もう 1 つの方法は、プロセスを開始したシェルで CTRL-Z を押すことです。これでプロセスが停止します。'bg' を使用すると、プロセスをバックグラウンドで再度開始できます。また、'fg' を使用すると、プロセスをフォアグラウンドで再度開始できます。
お役に立てれば幸いです。