crontab
15秒ごとにいくつかのタスクを実行するように書く方法を提案してもらえますか/usr/bin/chromium-browser
(テストに使用します)?
ベストアンサー1
クローンの粒度は1分未満ではありません。あなたができることは、1分ごとにタスクを実行するスクリプトを実行し、15秒待ってから繰り返すことです。次のcrontab行はsome_job
15秒ごとに始まります。
* * * * * 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秒ごとにタスクを実行することはできませんか?