特定のプロセス終了後にシステムをシャットダウンする方法

特定のプロセス終了後にシステムをシャットダウンする方法

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

おすすめ記事