Avanti Indietro Indice

2. Comando Unix/Linux: procautostart

Usate il programma procautostart (si dice "Prok-Auto-Start" o Process AutoStart) per monitorare e automaticamente reinizializzare qualsiasi processo Unix/Linux che non sia terminato. Questo piccolo programma è molto utile ed è comparabile con grandi prodotti commerciali i quali costano circa 80.000 $. Procautostart può essere utilizzato per controllare le seguenti applicazioni:

Il listato del programma è dato nella sezione seguente di questo documento.

procautostart -n < delay_seconds > -c "< command_line >" nohup &

In questo modo si inizializza il processo Unix procautostart ed anche il processo command_line. Il processo procautostart reinizializzerà il processo command_line se è terminato. L'opzione -n indica ogni quanti secondi procautostart deve verificare l'esecuzione di command_line. È consigliabile avviare procautostart come un processo in background, non interrotto dalla sessione di lavoro, utilizzando "nohup &". Vedere "man nohup".

Procautostart è stato scritto in "C" così che sia molto veloce ed efficiente, proprio perché il programma è chiamato ogni n secondi. Le risorse totali utilizzate da procautostart sono molto ridotte ed insignificanti inoltre il programma è piccolo e altamente ottimizzato con l'opzione di compilazione -o3.

Per esempio:


        procautostart -n 12 -c "monitor_test -d $HOME  -a dummy_arg " nohup &

Qui procautostart verificherà il processo monitor_test ogni 12 secondi.

Il programma fornirà in uscita un file di log nella sottodirectory "mon" creata con l'ora e la data in cui il processo è terminato e ripartito. Questi file forniscono informazioni su quanto spesso i processi sono terminati.

Potete anche utilizzare l'opzione "-m" per microsecondi o "-o" per nanosecondi, editando il codice sorgente di procautostart.cpp e non commentando le linee appropriate.


Avanti Indietro Indice