creare un demone ?

Bash, Perl, Python, Ruby, ...

creare un demone ?

Messaggioda desperados » 11/09/2017, 9:44

salve a tutti
ho un piccolo applicativo realizzato in java che al momento avvio e fermo a mano
per avviarlo al boot della macchina, ho inserito in rc.local il comando /srv/start
però se per qualche motivo l'applicativo si bloccasse e il processo si chiudesse, come lo riavvio in automatico? devo fare qualcosa a livello di script in init.d o rcx.d, oppure dovrei usare qualcosa che controlli il processo, come monit ?
grazie
- Potrebbe esser peggio. - E come? - Potrebbe piovere!
desperados
Hero Member
Hero Member
 
Messaggi: 751
Iscritto il: 22/02/2008, 8:55

Re: creare un demone ?

Messaggioda byte64 » 11/09/2017, 12:58

Puoi farlo in modo semplice ed efficace con bash, un ciclo while e pgrep
tipo:
Codice: Seleziona tutto
while true
 pgrep -f tuoscriptjava
 if [ $? -ne 0 ]; then
    tuoscriptjava
 fi
 sleep ogniquantovuoifareilcheck
done

metti poi ovviamente lo script in rc.local
PS: se questa volta mi lasci un riscontro non è che mi dispiace, anche se poi fai una scelta differente :D !
Ciao
byte64
Sr. Member
Sr. Member
 
Messaggi: 308
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: creare un demone ?

Messaggioda desperados » 12/09/2017, 12:51

adesso ci smanetto un po', stavo provando anche con monit, che mi sembrava interessante
spero di farti sapere a breve, intanto comunque lascio l'avvio in rc.local come ho sempre fatto
grazie

EDIT: scusa, ma "while true" non resta sempre aperto? rc.local poi non avanza più così?
- Potrebbe esser peggio. - E come? - Potrebbe piovere!
desperados
Hero Member
Hero Member
 
Messaggi: 751
Iscritto il: 22/02/2008, 8:55

Re: creare un demone ?

Messaggioda byte64 » 12/09/2017, 13:12

desperados ha scritto:EDIT: scusa, ma "while true" non resta sempre aperto? rc.local poi non avanza più così?


Crei uno script tipo checkjava.sh e poi lo richiami da rc.local o come preferisci.
Anche monit o supervisor possono andare bene ma un banale script come questo evita di installare roba apposita, a meno che hai più demoni da tenere sotto controllo e magari su server diversi, nel qual caso meglio sicuramente un qualcosa ad-hoc.
Ovviamente l'esempio che ti ho postato è ridotto all'osso....vedi tu come eventualemente perfezionarlo.
Ciao
byte64
Sr. Member
Sr. Member
 
Messaggi: 308
Iscritto il: 07/01/2017, 19:02
Località: Bergamo


Torna a Scripting

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite