Я хочу использовать systemd для запуска команды каждые 5 минут. Однако существует риск того, что время от времени выполнение задачи может занять более 5 минут. В этот момент systemd запустит второй экземпляр команды, то есть я получу 2 запущенных процесса?
Можно ли сказать systemd не запускать второй процесс, если первый еще не завершен? Если нет, какие есть хорошие обходные пути?
Примечание: я надеюсь, что ответ «Это поведение по умолчанию. Оно просто не задокументировано». Если это так, может кто-нибудь сказать мне, как сообщить об ошибке в их документах?
Примечание: у Cron есть похожая проблема, которая обсуждается в /unix//a/173928/11244 . Я ищу системный эквивалент.
RemainAfterExit=true
будет оставаться «активной» при выходе из своего начального процесса, поэтому последующие триггеры таймера будут игнорироваться, если только администратор не деактивирует (не остановит) эту единицу явно, или она не будет отключена отрицательным зависимостей.Note that in case the unit to activate is already active at the time the timer elapses it is not restarted, but simply left running. There is no concept of spawning new service instances in this case.
freedesktop.org/software/systemd/man/systemd.timer.html