Я хочу выполнить команду на максимально длительный период и убить ее в определенное абсолютное время (если она все еще выполняется), что-то вроде:
killat "2018-06-09_23:55" ./myscript.bash
Ресурсы, которые я нашел, относятся к процессам убийства в момент времени относительно времени начала.
Команда timeout
принимает аргумент для количества секунд, после которого процесс завершается, но это также относительно времени запуска. Одним из решений было бы рассчитать разницу между текущим и желаемым временем и передать ее в timeout
.
Другой способ может состоять в том, чтобы настроить одноразовое задание cron
в нужное время, которое ищет записанный PID и отправляет сигнал уничтожения.
Есть ли какие-либо цели построить альтернативы этому?