Skocz do zawartości
ToFFiK

Sprawdzanie czy proces działa co parę sek

Polecane posty

Mam skrypt na sprawdzanie czy proces działa, i chodzi, ale cron go wykonuje tylko co min, a ja chciałbym aby go wykonywało co 10sek więc dałem while i sleep, lecz cos nie chce działać.

 

 

 

#!/bin/sh
while( i < 59) {
sleep 10

ile_procesow=`ps -ef | grep -e samp | wc -l`
echo $ile_procesow
if [ $ile_procesow -ge "2" ]
   then
       echo "jest proces"
   else
       echo "brak procesu, odpalanie..."
	cd /home/samp ; screen -A -m -d  -S Samp  ./samp03svr



fi
}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

while sprawdza, czy owy warunek (u ciebie i<59) jest prawdą; jeśli tak, to wykonuje zawartość między {}

Więc popatrz sobie w ten swój kod i powiedz, czy i jest mniejsze od 59?

 

Nie działa ci pewnie dlatego, że zarówno ty, jak i bash nie wie, co to jest owe i bo nigdzie nie jest ono w jakikolwiek sposób zdefiniowane. Więc albo je jakoś zdefiniuj, albo też jeśli chcesz mieć nieskończoną pętlę, to wstaw tam warunek, który upraszczając - zawsze jest prawdą.

 

Wtedy takie cudo nie wykonujesz przez crona, tylko jako pojedynczy proces działający w tle.

Edytowano przez kafi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może warto się zainteresować jakimś przeznaczonym do tego narzędziem?

 

Polecam Daemon tools:

 

http://cr.yp.to/daemontools.html

 

daemontools is a collection of tools for managing UNIX services. supervise monitors a service. It starts the service and restarts the service if it dies.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No jak raz odpalisz, to cały czas będzie lecieć pętla.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×