Cronは15秒ごとにジョブを実行します。

Cronは15秒ごとにジョブを実行します。

crontab15秒ごとにいくつかのタスクを実行するように書く方法を提案してもらえますか/usr/bin/chromium-browser(テストに使用します)?

ベストアンサー1

クローンの粒度は1分未満ではありません。あなたができることは、1分ごとにタスクを実行するスクリプトを実行し、15秒待ってから繰り返すことです。次のcrontab行はsome_job15秒ごとに始まります。

* * * * * for i in 0 1 2; do some_job & sleep 15; done; some_job

スクリプトは、操作が15秒以上かかることを前提としています。次の少し複雑なスクリプトでは、時間がかかりすぎる場合は、次のインスタンスを実行できなくなります。dateサポートされている形式(たとえば、GNUやBusyboxに依存する%sため、Linuxでは問題ありません)。 crontabに直接入力する場合は、%crontab行に表示されるように文字を作成する必要があります。\%

end=$(($(date +%s) + 45))
while true; do
  some_job &
  [ $(date +%s) -ge $end ] && break
  sleep 15
  wait
done
[ $(date +%s) -ge $(($end + 15)) ] || some_job

しかし、15秒ごとにタスクを実行する必要がある場合は、cronがおそらく間違ったアプローチである可能性があることを指摘したいと思います。 uniceは寿命の短いプロセスに適していますが、15秒ごとにプログラムを起動するオーバーヘッドは無視できません(プログラムの要件によって異なります)。アプリケーションを実行し続け、15秒ごとにタスクを実行することはできませんか?

おすすめ記事