Strona 1 z 1

Skrypt sprawdzający działanie programu

: 12 stycznia 2013, 12:18
autor: hulio
Witam.
M
am uruchomione 2 takie same programy: program1 i program2. Mam skrypt sprawdzający co minutę działanie tych programów. Problem polega na tym, że jak procesy programów zostaną zabite to skrypt działa. Jak tylko jeden program działa (program1) i uruchomię skrypt do sprawdzania, czy program2 działa, skrypt mówi, że wszystko w porządku i program działa, mimo tego, że nie ma go w wyniku polecenia:

Kod: Zaznacz cały

ps -aux
(i na odwrót). Gdzie może być błąd?

Kod: Zaznacz cały

#!/bin/sh
if ps x |grep -v grep |grep -c program1 >/dev/null
then
echo "ok"
else
echo "process not working"
/etc/init.d/program1 restart
echo `date "+%y/%m/%d %R process not working"` >> /var/log/program1_restarts.info
fi

: 12 stycznia 2013, 12:52
autor: LordRuthwen
Zmień warunek z >/dev/null na <=X
Za X podstaw sobie ilość procesów tworzonych przez programy.

: 12 stycznia 2013, 13:25
autor: hulio

Kod: Zaznacz cały

if ps x |grep -v grep |grep -c program1 >2
w takiej postaci?