Завершение работы после рабочей оконечной команды?

Я имею продолжительную команду и забыл добавлять && shutdown к нему. Там какой-либо путь состоит в том, чтобы закрыть мой ПК после своего завершения, в то время как он работает?

0
задан 2 November 2019 в 09:04

2 ответа

Сначала найдите соответствующий pid с pgrep, затем выполненный:

while kill -0 pid; do sleep 5; done; shutdown

Из страницы справочника kill:

Если сигнал 0, то никакой фактический сигнал не отправляется, но проверка ошибок все еще выполняется.

Так условие цикла с условием продолжения остаются верными до той оконечной команды.

1
ответ дан 22 December 2019 в 00:08

Этот цикл с условием продолжения проверит если command имеет любые рабочие процессы каждые 10 секунд в фоновом режиме и если это не находит, что любой запускает количество завершения работы +5 минут, с которыми можно отменить shutdown -c

$ while true; do \
    (($(pgrep -c command) > 0)) && \
      sleep 10 || { shutdown +5; exit 0; }; done &
0
ответ дан 22 December 2019 в 00:08

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

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