Как создать демон, который проверяет, запущена ли программа (через определенные промежутки времени), и запускает ее, если это не так? [дубликат]

Я использую Ubuntu GNOME 15.10 с GNOME 3.18, но мне не нравится обычная панель запуска приложений, поэтому я установил Docky, однако часто Docky внезапно закрывается, и я вынужден перезапускать его вручную, поэтому мне было интересно, как я могу создать демон, который постоянно работает в фоновом режиме, который будет регулярно проверять, работает ли Docky, а если нет, запускать его?

1
задан 1 April 2016 в 02:12

1 ответ

Создайте скрипт в любом месте, предпочтительно в вашем домашнем каталоге. Мне нравится называть мое, check_docky.bsh. В вашем скрипте выполните следующие строки:

#!/bin/bash

ps -ef | grep -i docky.exe | grep -v grep >/dev/null

case $? in
1) sh -c "mono /usr/lib/docky/Docky.exe";;
0) exit 0;;
esac

В приведенном выше скрипте ps -ef | grep проверит, работает ли Docky. Если не выполняется код возврата, возвращается 1, поэтому оператор case автоматически перезапустит Docky. В противном случае скрипт обычно завершается с кодом 0.

Убедитесь, что сценарий исполняемый:

chmod +x check_docky.bsh

Затем создайте задание cron для сценария.

Сначала запустите crontab от имени:

$ crontab -e

Затем в качестве новой записи добавьте следующее, чтобы она проверяла каждые 10 минут, начиная с :00 часа: [ 1119]

# m h  dom mon dow   command
*/10 * * * * /home/<username>/check_docky.bsh

Чтобы показать, что эта команда работает:

~$ ps -ef | grep wookie | grep -v grep
~$ echo $?
1
~$ ps -ef | grep wookie
terrance  20978  6976  0 13:53 pts/17   00:00:00 grep --color=auto wookie
~$ echo $?
0

Надеюсь, это поможет!

0
ответ дан 1 April 2016 в 02:12

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

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