Самый элегантный способ проверить, запущен ли процесс, и запустить, если нет?

Я возился с различными способами сделать это в bash, и я обнаружил, что pgrep program > /dev/null || program - самый короткий / самый элегантный способ сделать это. Есть ли лучший метод, чем этот?

8
задан 26 August 2010 в 11:06

2 ответа

С помощью pgrep вы можете использовать другие программы, а не только свои. Если вы хотите быть уверенным в правильности выбранной программы, используйте вместо этого pidof.

Вы также можете использовать start-stop-daemon с файлом PID. start-stop-daemon проверит, запущена ли программа, и запустит ее при необходимости. Это то, что используется в большинстве сценариев инициализации.

0
ответ дан 26 August 2010 в 11:06
[ -z `pidof program` ] || echo "program runing"
# or 
[ -z `pidof program` ] && OtherProgram 
0
ответ дан 26 August 2010 в 11:06

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

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