Script bash per controllo applicazione in esecuzione [Ris.]

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Script bash per controllo applicazione in esecuzione [Ris.]

Messaggio da tgmx »

Ciao Ragazzi,
sto sviluppando una piccola applicazione che gira su Linux ma che deve restare sempre in esecuzione e anche in caso di crash deve venire riavviata.

Sicuramente per qualcuno di voi è una passeggiata ma io non so da dove cominciare: pensavo di creare un piccolo script da mettere in cron che quando avviato controlla se l'applicazione è in esecuzione ed eventualmente la avvia.

Avete qualche idea...? :-)
Ultima modifica di tgmx il mar 29 mar 2011, 22:18, modificato 1 volta in totale.

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Script bash per controllo applicazione in esecuzione

Messaggio da Ansa89 »

Usare cron mi sembra una buona idea, ma non ti basta che venga avviata all'avvio del sistema?

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Script bash per controllo applicazione in esecuzione

Messaggio da tgmx »

Ansa89 ha scritto:Usare cron mi sembra una buona idea, ma non ti basta che venga avviata all'avvio del sistema?
Il problema però è se crasha...

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Script bash per controllo applicazione in esecuzione

Messaggio da Ansa89 »

Hai motivo di credere che il tuo script in bash possa crashare facilmente?

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Script bash per controllo applicazione in esecuzione

Messaggio da tgmx »

Ansa89 ha scritto:Hai motivo di credere che il tuo script in bash possa crashare facilmente?
Ho un'applicazione che (almeno per ora) potrebbe crashare quindi mi serve uno script che quando accade la riavvia.

Avatar utente
algol
Linux 3.x
Linux 3.x
Messaggi: 969
Iscritto il: gio 7 set 2006, 1:19
Slackware: 12.1
Kernel: 2.6.26.1
Desktop: xfce4.4.2

Re: Script bash per controllo applicazione in esecuzione

Messaggio da algol »

Molto ad occhio, da ignorante, ci vorrebbe o che lo script sia avviato in continuazione da cron, e che controlli se esso stesso sia già in esecuzione, nel cui caso non si avvii, o un secondo script che faccia un poll del primo... sempre che non crashi anche questo :D

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Script bash per controllo applicazione in esecuzione

Messaggio da Ansa89 »

tgmx ha scritto:Ho un'applicazione che (almeno per ora) potrebbe crashare quindi mi serve uno script che quando accade la riavvia.
Chiedo scusa, non avevo capito il problema :roll: .

L'idea di algol mi sembra abbastanza giusta.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Script bash per controllo applicazione in esecuzione

Messaggio da tgmx »

algol ha scritto: o un secondo script che faccia un poll del primo... sempre che non crashi anche questo :D
Si può sempre mettere un terzo script... :-D

A parte le battute, l'idea è proprio quella di mettere uno script in cron che ogni minuto effettua il controllo ed eventualmente avvia l'applicazione.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6566
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Script bash per controllo applicazione in esecuzione

Messaggio da targzeta »

Non posso controllare, ma qualcosa di questo genere potrebbe funzionare, anche senza scomodare cron:

Codice: Seleziona tutto

while sleep 1m
do
  if ! ps axco cmd | grep '^_mio_programma_$'; then
     _mio_programma_
  fi
done
Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Script bash per controllo applicazione in esecuzione

Messaggio da tgmx »

spina ha scritto:Non posso controllare, ma qualcosa di questo genere potrebbe funzionare, anche senza scomodare cron:

Codice: Seleziona tutto

while sleep 1m
do
  if ! ps axco cmd | grep '^_mio_programma_$'; then
     _mio_programma_
  fi
done
Emanuele
Yes! grazie mille.

Credo però che toglierò la parte del loop. Preferisco che sia cron ad occuparsi della cosa.

Grazie ancora.

Ps: sembrano sempre semplici queste cose dopo che ti vengono dette... ;-)

Rispondi