Command-Line
如何檢查是否從命令行停止了程序?
我有 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