Nowe posty

Autor Wątek: Automatyczny start procesu bo zwisie  (Przeczytany 5661 razy)

axlinux

  • Gość
Automatyczny start procesu bo zwisie
« dnia: 2010-03-18, 10:29:53 »
Hej

Mam taki problem. W systemie działa mi proces, który w specyficznych warunkach wywala się :/. Jeszcze nie ustaliłem dlaczego, nic nie wypisuje do logów itp.

Chciałbym aby po jego "zwieszeniu" i jego zamknięciu następowało jego ponowne uruchomienie.

Myślałem o skrypcie podłączonym do Crona, który powiedzmy co 5 minut pobiera procesy działające w tle i sprawdza czy dany proces działa jeżeli nie to robi jego start.

Czy ktoś może mi powiedzieć czy idę w dobrą stronę?

Dodam że ten proces to serwer Mongrel.

Offline mateo86

  • Users
  • Guru
  • *****
  • Wiadomości: 647
    • Zobacz profil
Automatyczny start procesu bo zwisie
« Odpowiedź #1 dnia: 2010-03-18, 10:55:19 »
Raczej tak.

Kiedyś tu na tym forum był człowiek z podobnym problemem, bodajże serwer do CS'a mu się co jakiś czas wywalał. Chyba tam było nawet dokładnie opisane co trzeba zrobić.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2838
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Automatyczny start procesu bo zwisie
« Odpowiedź #2 dnia: 2010-03-18, 12:17:52 »
Jeżeli mowa o Railsowym Mongrelu, to jednak poszukałbym przyczyny bo to raczej stabilny soft. Restart to leczenie objawowe a nie rozwiązanie problemu...

Odpal Mongrela tak:
mongrel_rails start --debug --log mongrel.log
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Arkadiusz Bednarczyk

  • Linux.pl
  • Administrator
  • Guru
  • *****
  • Wiadomości: 646
    • Zobacz profil
    • Linux.pl
Automatyczny start procesu bo zwisie
« Odpowiedź #3 dnia: 2010-03-18, 16:33:09 »
Proponuję przyjemny programik - monit.
Można dowolnie zdefiniować w jaki sposób sprawdza dane usługi, czy programy, automatycznie restartuje jeżeli zdarzy się pad, a dodatkowo wysyła maila o problemie.
--
pozdrawiam
Arkadiusz Bednarczyk
email/jabber: arek@linux.pl

ra-v

  • Gość
Automatyczny start procesu bo zwisie
« Odpowiedź #4 dnia: 2010-03-18, 17:39:24 »
[EDIT 19-10-2010 17:01]
Podobnie  jak niżej,  tylko z drobna zmianą zobacz na mój wątek, jest odpowiedź.

-----------------

Heh:) przed chwilą napisałem zapytanie dot. sprawdzania uruchamianych procesów
http://forum.linux.pl/viewtopic.php?id=15844

Jak dasz np. taki warunek tego typu
if [ -z "$(pidstat -p ALL | grep nazwaprocesu)" ]; then 
   uruchom go
fi
to pewnie zadziała. Ja w swoim poście szukam czegoś innego.

axlinux

  • Gość
Automatyczny start procesu bo zwisie
« Odpowiedź #5 dnia: 2010-03-22, 11:03:26 »
Dzięki za Posty

Jeszcze z tym walczę w wolnych chwilach w pracy. Jak będę miał jakieś grubsze problemy to poproszę o pomoc :)

axlinux

  • Gość
Automatyczny start procesu bo zwisie
« Odpowiedź #6 dnia: 2010-03-22, 20:21:21 »
Kurcze...

Napisałem sobie taki skrypcik:

procesy = `ps aux`
mongrel = '/usr/bin/ruby1.8 /home/users/admin/.ruby/gems/1.8/bin/mongrel_rails start';

puts "Sprawdzam..."


if(!procesy.include?(mongrel))
  res = `mongrel_rails start -e test -n 128 -p 8000 -a xx.xxx.xxx.xxx -l log/mongrel_0.log -P tmp/pids/mongrel_0.pid -c /home/users/admin/rails/app -d -B`;
 
  puts "Serwer nie działał, włączyłem go o: " + dzisiejszaData("-") + res.to_s
 
end
Problem w  tym że jak go odpalę pod konsolą to działa ok a jak wskażę go w Croni-e że ma wykonywać się co 2 minuty to wyskakuje mi że command not found mongrel_rails start...


Dodam że pod konsolą i w cronie jestem tym samym userem.

:(

Dzięki za posty

ra-v

  • Gość
Automatyczny start procesu bo zwisie
« Odpowiedź #7 dnia: 2010-03-23, 00:16:46 »
Sprawdź uprawnienia do tego pliku-programu i podaj w skrypcie pełną ścieżkę dostępu do niego.