nowy2008 Napisano Lipiec 8, 2008 Zgłoszenie Share Napisano Lipiec 8, 2008 Witam: Tworze sobie skrypt który odpytuje system czy dany proces chodzi. chce aby chodził on następująco: odpalam skrypt. i na ekranie wyświetlają mi się procesy które chodzą i alarmuje mnie gdy jakiegoś brakuje stworzyłem coś takiego ale niestety nie działa, pokazuje sie tylko wtedy jak proces jest a jak go brakuje nie ma zadnej informacji:/ #!/bin/ksh bold='tput smso' unbold='tput rmso' clear if test -e ps -fu uzytkownik | grep 'nazwa_proc1'; then echo $bold BRAK procesu nazwa_proc1 $unbold ;else ps -fu uzytkownik | grep 'nazwa_proc1' ;fi echo ktoś ma jakiś pomysł jak to rozwiązac?? domyslam się ze to blacha sprawa bo dopiero zaczynam programowac... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Lipiec 8, 2008 Zgłoszenie Share Napisano Lipiec 8, 2008 Hm... "test -e <plik>" - sprawdzenie czy plik istnieje, a wyjście polecenia w żadnym wypadku nie jest plikiem [EDIT] taki przykład #!/bin/ksh ciag=`ps -fu waldo | grep bash | grep -v grep` if [ "X${ciag}" != "X" ] then echo "jest proces" else echo "nie ma procesu" fi Jeśli będziesz chciał podawać polecenie jako parametr, czyli np. "skrypt.sh bash" to trzeba będzie trochę zmodyfikować. Zwróć uwagę na ostatnie polecenie potoku "grep -v grep" - jeśli tego nie będzie to zawsze będziesz miał pozytywny wynik, bo zmienna "ciag" prawie zawsze będzie niepusta. Napisałem "prawie" bo czasem polecenie ps -fu waldo | grep nieistniejace_polecenie nie zwraca nic, czyli jest puste i o dziwo zdarza się to dość często. No i przeczytaj "man ksh" wyszukując części dot. "test" - tam jest napisane dlaczego "X${zmienna} != X" a nie samo "${zmienna}" != "" BTW dlaczego ksh a nie znacznie nowszy i bardziej elastyczny IMHO bash? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się