2016-09-04 7 views

答えて

1

はmethinks、3つの操作の単純なシーケンスである必要があります:(1)PIDにTSTP信号を送信する(2)スリープ、および(3)それでもTに等しいかどうかを確認するために/proc/$pid/statの第3のフィールドを読み、そしてそうであれば、それにKILL信号を送る。

kill -TSTP $pid; 
sleep 2; 
if [[ "$(awk '{ print($3); };' </proc/$pid/stat;)" == 'T' ]]; then kill -KILL $pid; fi; 

便利なドキュメント:


上記のコードとドキュメントはbash宇宙に存在しますが、Cコードから同じ操作をほぼ簡単に実行できます。具体的には、/proc/$pid/stat(または/proc/$pid/status)疑似ファイルを開いて読むのはもう少しの作業ですが、そのアイデアは同じです。その他のドキュメント:

関連する問題