Я должен остановить выполнение команды и запустить ту же запятую каждый x интервал времени в терминале?

Я должен остановить выполнение под управлением сценария Java в терминале и запустить то же выполнение в каждый x интервал времени в терминале. Действительно ли это возможно?

0
задан 22 August 2019 в 13:40

1 ответ

Да, /usr/bin/timeout инструмент для использования. См. man timeout. Вот пример от одного из моих ночных cron задания, можно перенести Ваш в while true ; do цикл:

TO_KILL="45m"           # timeout (kill -KILL) for hpodder
TO_HUP="42m"            # timeout (kill -HUP) for hpodder. Makes sense only if it is less than $TO_KILL
# ...
timeout -k $TO_KILL -s HUP $TO_HUP hpodder  update

Это будет работать hpodder update, пока это не закончится, или 42 минуты передали, когда это будет отправлено (см. man 7 signal), HUP сигнал. Если hpodder update будет все еще бежать за 45 минутами (спустя 3 минуты после того, как эти HUP был отправлен), то это будет отправлено неуловимое KILL сигнал и будет завершено.

1
ответ дан 23 October 2019 в 04:52

Другие вопросы по тегам:

Похожие вопросы: