他の回答に加えて、特に@soulcakeが投稿したリンク:あまりにも短い間隔で長時間実行するコマンドをスケジュールすると、cronは最初のコマンドが完了する前に2番目のコマンドを喜んで実行します(コマンドに何らかのミューテックスが実装されていない限り) 。
これにより、元のコマンドの速度がさらに低下し、前のインスタンスが完了する前に別のインスタンスが実行されるなどの場合があります。または、他の理由で望ましくない場合もあります。
防止する一般的な方法は、前のコマンドが実行されていないことを保証するガードを使用してコマンドの実行を条件付けることです。例えば:
10 * * * * pgrep my_slow_command >/dev/null || /usr/local/bin/my_slow_command
実行時にpgrepがコマンドの名前と一致することを確認します。たとえば、pythonスクリプトは実行可能ファイルの名前としてpythonを持っています。これはおそらく十分に具体的ではなく、pythonのスクリプト名とも一致する必要があります。
10 * * * * pgrep -f my_script.py || /usr/local/bin/my_script.py
(ただし、 '-f'オプションなしのpgrepはbashスクリプト名と一致します)
何らかの理由でpgrepを使用できない場合:
10 * * * * ps ax | grep [m]y_command || /usr/local/bin/my_command
括弧は、grepコマンド自体と一致しないようにするために使用されます。