Определить отсутствие процесса и выполнить действие

Автор Антон Валерьевич, 14 апреля 2015, 19:12:54

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Антон Валерьевич

Здравствуйте и процветайте !

Одна из моих машин ( 2.6.32-5-686 #1 SMP Fri May 10 08:33:48 UTC 2013 i686 ) существует лишь для выполнения одной задачи. Там при загрузке системы автоматически запускается нужный мне процесс с заданными параметрами. Беда в том, что иногда этот процесс сам собою "умирает".

Уважаемое общество, подскажите как мне определить отсутствие необходимого мне процесса и выполнить по этому событию некое действие (запустить ли процесс заново или просто перезагрузить ОСь).


yura_n

#2

#!/bin/bash
PID_PROCESS=`pidof name_process`
if [ -z "$PID_PROCESS" ]
then
.../name_process
fi

Вот этот скрипт в крон добавьте, отредактировав как нужно.

Антон Валерьевич

Цитата: yura_n от 14 апреля 2015, 19:55:58

#!/bin/bash
PID_PROCESS=`pidof name_process`
if [ -z "$PID_PROCESS" ]
then
.../name_process
fi

Вот этот скрипт в крон добавьте, отредактировав как нужно.
PID после каждой загрузки системы иной нежели был ранее, я могу быть уверенным лишь в имени процесса.

==============
Цитировать
ps -A | grep имя_процесса
писать скрипт.

Окажите любезность, подскажите как вывод этого grep'а использовать в скрипте. А вручную я именно так это и делаю.

yura_n

Цитата: Антон Валерьевич от 14 апреля 2015, 20:04:18PID после каждой загрузки системы иной нежели был ранее, я могу быть уверенным лишь в имени процесса.
PID разумеется разный. Смысл скрипта в том, что если процесс есть, то вернется его PID. Если процесса нет, то в переменной окажется пустая строка. Если в переменной оказалась пустая строка, то значит нужно запустить процесс.