pid
いくつかのソフトウェアをダウンロードしています。ダウンロードプロセスを見ることができますtop
。と仮定します1001
。
1001
プロセスが終了した後にコンピュータをシャットダウンするにはどうすればよいですか?
ベストアンサー1
このシングルラインループは、プロセスID 1001のps出力を確認し、2秒間休止状態を維持し、見つからないまで(プロセスが終了する)再確認します。この時点で、ループは終了して終了する次のコマンドを続行します。
while [[ $(ps 1001 &> /dev/null)$? -eq 0 ]]; do sleep 2 ;done && shutdown -h now
プロセス1001が自分が考えているプロセスであることを確認するには、grepを追加してテストできます。たとえば、プロセスがiTunesである必要がある場合は、次のことができます。
while [[ $(ps 1001 |grep -q "iTunes" &> /dev/null)$? -eq 0 ]]; do sleep 2 ;done && shutdown -h now