lsof|wc -l を使用して、crontab で開いているファイルの数を定期的に取得しようとしています。常にゼロを返します。直接実行すると正しい結果が得られます.この奇妙な動作について何か考えはありますか?結果が非常に大きくなる可能性があるため、パイプのサイズに関連していますか?どうもありがとう.
カカ
主な違いは環境変数です。
この場合、それは PATH である可能性があります。lsof は、または /usr/sbin にあることが多く、対話的に実行する場合は PATH にある可能性がありますが、cron から実行する場合は PATH にはありません。
/usr/sbin/lsof|wc -l
cron スクリプトで試してください。ローカル メールを確認してください。通常、cron 出力はそこに送信されるため、関連するエラー メッセージが含まれている可能性があります。
結果が非常に大きくなる可能性があるため、パイプのサイズに関連していますか?
いいえ。