Skrypt sprawdzaj

Potrzebujesz pomocy z C, C++, perl, python, itp.
hulio
Posty: 12
Rejestracja: 07 stycznia 2013, 11:51

Skrypt sprawdzający działanie programu

Post 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
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Zmień warunek z >/dev/null na <=X
Za X podstaw sobie ilość procesów tworzonych przez programy.
hulio
Posty: 12
Rejestracja: 07 stycznia 2013, 11:51

Post autor: hulio »

Kod: Zaznacz cały

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