У меня есть как часть моего cronjob переменная случайная задержка. У этого есть веские причины, чтобы распределить нагрузку автоматизированного процесса от всплесков на разных минутных или часовых границах.
Я подозреваю (но не уверен), что иногда, когда я перезагружаю машину, systemd неудобно зависает в течение переменного периода времени, «ожидая заданий anacron». Это случается не так часто, чтобы стоило углубляться в источник истины, но, учитывая, что я когда-либо устанавливал только одно задание cron на своих компьютерах, это кажется вероятным виновником.
Мне любопытно узнать, существует ли стандартная простая техника, которую можно использовать в сценарии, настроенном как задание cron, чтобы сделать его прерываемым.Идея здесь в том, что если я прикажу своей системе перезагрузиться, то ни при каких обстоятельствах мне не нужно, чтобы это задание (которое имеет переменную случайную продолжительность сна, прежде чем оно выполнит свою фактическую работу) было завершено, и я хочу, чтобы оно было прервано и сброшено с орбиты, когда система уходит на перезагрузку. Есть ли способ сделать это? Будет ли cron или система посылать сигнал настроенному скрипту задания? Должен ли я прибегать к пользовательскому заклинанию, чтобы сначала проверить запущенные задания, завершить их и предотвратить их перезапуск, а затем выполнить перезагрузку?