[+] Skrypt w bashu sprawdzaj

Potrzebujesz pomocy z C, C++, perl, python, itp.
vixnadi
Posty: 11
Rejestracja: 03 grudnia 2008, 16:44

[+] Skrypt w bashu sprawdzający czy program jest uruchomiony

Post autor: vixnadi »

Witam.

Chcę napisać prosty skrypt, który będzie sprawdzał czy program jest uruchomiony, a jeżeli nie jest - będzie go uruchamiał na nowo.

Program przy problemach z siecią automatycznie się rozłącza i zamyka - stąd mój skrypt.

Próbowałem to zrobić poleceniem:

Kod: Zaznacz cały

ps -A | grep "program z komendami"
ale niestety grep wyświetla wtedy również swój proces, który także zawiera ten ciąg znaków i polecenie zawsze zwraca jakiś wynik.

Ma ktoś pomysł jak to rozwiązać?
tracerout
Posty: 32
Rejestracja: 06 sierpnia 2008, 16:21

Post autor: tracerout »

Kod: Zaznacz cały

ps aux | grep "program z komendami" | grep -v "grep"
vixnadi
Posty: 11
Rejestracja: 03 grudnia 2008, 16:44

Post autor: vixnadi »

O to chodziło. Wielkie podziękowania :-)

[ Dodano: 2008-12-28, 20:51 ]
A jeszcze zapytam o taka rzecz...
Chciałem cały skrypt uruchomic w cronie ale cron ma minimalna rozdzielczość 1 minute a przydało by sie zeby skrypt sie wykonywał co 10s a może i częściej żeby zapewnić płynność działania.

Da sie to jakoś zrobic?
snah
Beginner
Posty: 103
Rejestracja: 19 lutego 2008, 09:09

Post autor: snah »

Pętla while true w bashu i sleep 10.
matiit
Beginner
Posty: 231
Rejestracja: 27 stycznia 2007, 09:45

Post autor: matiit »

Nie bardziej elegancko by było gdyby program miał jakiś PID-file albo inny state? Bo co jeśli będzie kiedyś program co będzie zawierał w nazwie nazwę tego pożądanego programu? Może być problem...
vixnadi
Posty: 11
Rejestracja: 03 grudnia 2008, 16:44

Post autor: vixnadi »

Tak sie sklada, ze program nie ma mozliwosci zrobienia sobie pliku z pid. Chyba ze jest na to jakis niezalezny sposob bo faktycznie byłoby to bardziej eleganckie choc w takiej postaci chodzi dobrze. Niestety sposob z petla while mi sie nie podoba do konca, zostalem na cronie, sprawdza co minute i w praktyce wyglada na to, ze to w zupelnosci wystarcza.
ODPOWIEDZ