0

サーバー側スクリプトを使用してデータベースからメールを送信しています。各メーリング リスト用に作成したプロセスがまだ実行されているかどうかを確認したいので、実行されていない場合は、その特定のリストのスクリプトを再起動できます。PID を使用することを考えましたが、PID のリサイクルを心配したり、同じ PID で別のプロセスを使用したりすることなく、それらを識別するためのより信頼できる方法があるかどうか疑問に思っています。

4

1 に答える 1

0

サーバー側スクリプトの名前が「db_email.sh」の場合、監視スクリプトはそれらのプロセスを探して結果を数えることができます。

PROCESS_COUNT=$(ps -eaf | grep "[d]b_email.sh" | wc -l)
if [[ $PROCESS_COUNT -eq 0 ]]; then
   echo "He's dead, Jim"
fi

grep コマンドは、文字の 1 つを角かっこで囲む正規表現を使用するため、プロセスの一覧に表示されず、カウントが 1 ずつ膨らむことはありません。

于 2013-05-07T02:11:04.950 に答える