LoginSignup
3
3

More than 5 years have passed since last update.

Linuxでプロセスが存在しない場合にコマンドを実行するには

Posted at

お題の通りです。

例えば、常駐型のプロセスがあって、cron でそのプロセスの死活チェックを行い、死んでいたらプロセスを復活させたい場合などに使えます。

  1. ps でプロセスを表示。
  2. grep でプロセスをフィルタリング。
  3. grep -v grep で、grep 自身のプロセスを除外。
  4. || でつないで、コマンドが失敗(プロセスが存在しない)場合にコマンドを実行。
ps -ef | grep 探したいプロセス | grep -v grep || プロセスが存在しない場合に実行したいコマンド

例えば、hoge.jar を実行するJavaプロセスが存在しない場合に、hoge.jar を起動したい場合はこんな感じです。

ps -ef | grep hoge | grep -v grep || java -jar hoge.jar

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3