|
Skrypt - podtrzymywanie pracy programu - jak to zrobić?
Jacekalex - 10-01-2008 15:26
Witam
Potrzebuję skryptu - który podtrzymuje pracę programu i automatycznie go włącza po wyłączeniu.
W książce "100 sposobów na linux" znalazłem taki skrypt: Przykład (glxgears - to dla testowania skryptu).
#!/bin/bash
echo " * uruchamiam glxgears -- test"
instances=' ps ax | grep glxgears | grep -v grep |wc -c ' if [ $instances = 0 ]; then while true; do 'glxgears' ; done else exit 1 fi[/color]
Otrzymuję wynik:
Jaki błąd jest w tym skrypcie?
Przeszukałem różne poradniki dotyczące basha - i nie widzę - jak to poprawić.
To mój pierwszy skrypt w bashu - i w ogóle w języku programowania - więc proszę o wyrozumiałość.
Pozdrawiam i dziękuję za cierpliwość. ;-)
zbyshek - 10-01-2008 16:05
Hej
Błąd może jest w warunku instrukcji if
if [ $instances = 0 ]; then
spróbuj wpisać coś takiego:
if [ -z $instances ] ; then
-z $instances zwróci prawdę jesli dlugosc lancucha wynosi zero
Mogę się mylić bo nie mam jak tego sprawdzić, gdyż odpisuje z czytelni na uczelni (brak Linuksa).
Pozdrawiam
salmon - 10-01-2008 18:36
instances=' ps ax | grep glxgears | grep -v grep |wc -c '
użyłeś złych cudzysłowów, zamiast ' daj `
Jacekalex - 05-02-2009 07:59
Witam
Wygląda tak: #!/bin/bash echo " * uruchamiam snorta" instances=`ps ax | grep "snort -A full -i eth0 -c /etc/snort/snort.conf -p -D" | grep -v grep | wc -l` if [ $instances = 0 ] ; then while true; do sleep 2 && sudo snort -A full -i eth0 -c /etc/snort/snort.conf -p -D ; done else exit 1 fi
- ten akurat jest do snorta.
Pozdrawiam
markossx - 05-02-2009 13:32
Można się "męczyć" ze skryptem jednak w repo Debianka mamy: monit
który w niektórych wypadkach spełnia swoje zadanie ;-)
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|