シェルスクリプト内から自分自身のプロセス等を監視する方法が知りたいです。
下記のようなスクリプトをcronで毎分実行するとします。
parent_script.sh
bash
1#!/bin/bash 2 3#以前にcronで呼び出した処理が残っていれば、exitする 4if [ -n $(ps aux |grep 'parent_script.sh' |grep -v "$(date +'%H:%M')") ] then; 5 exit 6fi 7 8if [ hogehoge=1 ] then; 9 bash child_script1.sh 10elif [ hogehoge=2 ] then; 11 bash child_script2.sh 12fi
cronで前に呼び出されたparent_script.shや
child_script1.sh, child_script2.shが実行中であれば、exitするようにしたいのですが、
終了しているはずのプロセスが残っていたりして、上手く監視できません。
psコマンドや他の方法で、
(親の)スクリプト内で(親と子の)スクリプトが実行中か判定する方法はないでしょうか。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/21 12:46 編集
2018/03/10 03:07