別のphp cliスクリプトが実行されているかどうかをphp cliスクリプトが検出できる信頼できる方法はありますか? この場合に実行するということはps aux | grep scriptname.php
、コマンド ラインで実行すると、それ自体の行が返されることを意味します。
exec('ps aux | grep scriptname.php',$output);
ただし、このコマンドも出力に自分自身を返す傾向があるため、単純に実行すると誤検知が返されるのではないかと心配しています。
私が検出したスクリプトはログ エントリも作成しますが、状況によっては最大 5 分間スリープするため、この例ではログ エントリを検出するのは大まかな検出方法のようです。