Как контролировать и автоматически перезапускать процесс?

printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

printf '% d \ n' Преобразует значение в целое число, если оно вам понадобится как число раундов

1
задан 5 February 2013 в 18:06

3 ответа

Чрезвычайно простым инструментом, который может выполнить тот же эффект без необходимости настройки, является immortal: https://immortal.run/

Просто выполните команду следующим образом:

immortal <cmd>

Он будет запускаться в фоновом режиме и автоматически перезагружаться, если он выйдет.

immortalctl: просмотр состояния выполняемых заданий. Существует столбец name, который будет напечатан здесь, вы можете использовать это, чтобы ссылаться на задание с помощью других команд управления. immortalctl stop <name>: останавливает контроль заданий с заданным именем (он не будет автоматически перезагружен, но текущий процесс продолжит выполнение) immortalctl -k <name>: отправляет SIGKILL в текущий процесс. immortalctl exit <name>: останавливает мониторинг задания с заданным именем и удаляет его из списка заданий.
8
ответ дан 25 May 2018 в 01:46
  • 1
    Спасибо, это отлично поработало для моего варианта использования в 16.04. Поместите это в свою сумку с полезными инструментами. – Quentin Skousen 13 June 2017 в 19:30
  • 2
    Действительно, это выглядит более легким, чем выскочка / респаун. – Sridhar-Sarnobat 26 July 2017 в 08:14
  • 3
    Есть ли способ заставить его отображать stdout и stderr на переднем плане? – David S. 7 August 2017 в 20:24
  • 4
    Я не знаю об этом, так как он обычно используется для запуска процесса в фоновом режиме. Однако вы можете использовать immortalctl -l out.log <cmd> && tail -f out.log для достижения такого же эффекта. – extropic-engine 8 August 2017 в 21:53
  • 5
    @DavidS. вы можете получить комбинированный журнал или stdout и stderr immortal.run/post/stderr – nbari 11 November 2017 в 19:20

Существует способ без «Upstart». Ключевое слово «inittab» :-). Хотя этот файл обычно не изменяется от значения по умолчанию, его можно использовать для достижения желаемого респауна на машинах SYSV.

0
ответ дан 25 May 2018 в 01:46
  • 1
    Я не понимаю, почему кто-то ОТКАЗАЛ это решение. Если вы этого не понимаете, просто зайдите в Google; бессмысленно вырезать и вставлять здесь страницы man initttab, вы можете прочитать их сами в своей системе! просто введите «человек inittab» ... – cepal67 16 June 2015 в 17:26
  • 2
    Высокое качество ответов более подробно, чем «используйте это, выясните это самостоятельно». :) – Seth♦ 17 June 2015 в 03:13

ps-watcher - это инструмент, который отслеживает, какие процессы запущены, и выполняет действие при определенных обстоятельствах. Давайте установим его:

apt-get install ps-watcher

Для получения подробной информации см. Нижнюю часть запуска HHVM с возвратом к PHP-FPM. Это было хорошо для меня.

0
ответ дан 25 May 2018 в 01:46
  • 1
    Поскольку это не очень долго, добавьте резюме кода вместо статьи, потому что к этому вопросу относится только очень короткий раздел. – derHugo 19 September 2017 в 08:48

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

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