私はpidを持っていますが、使用しているプログラムを停止しました
kill -stop PID
今、私はそれを続けたいです
kill -cont PID
ただし、すでに停止している場合のみです。停止しているか実行中であるかを確認するにはどうすればよいですか?
プロセスが停止状態であるかどうかを確認できます。T
はps
出力です。
できるよ:
_[ "$(ps -o state= -p PID)" = T ] && kill -CONT PID
_
[ "$(ps -o state= -p PID)" = T ]
は、_ps -o state= -p PID
_の出力がT
かどうかをテストします。そうであれば、SIGCONT
をプロセスに送信します。 PIDをプロセスの実際のプロセスIDに置き換えます。別の方法は
pid=1
status=`cat /proc/$pid/wchan`
if [ "$status" == "do_signal_stop" ] ; then
echo "$pid sleeps: $status"
else
echo "$pid does not sleep: $status"
fi