おそらくこれは悪い方法だったのでしょうが、スクリプトの if ステートメントの一部として実行していましたps aux | grep x | wc -l
。これを通常のユーザーとしてコマンド ラインから実行すると、プロセスが実行されていない場合は、grep プロセスが起動するという厄介な癖のために、結果は 1 になります。
それはそれで結構ですが、結果をログに記録したところ、/etc/init.d スクリプトとして実行するとほとんどの場合ps aux | grep x | wc -l
0 行が返されます。なぜでしょうか?