GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il watchdog del software Linux?

Che ne dici di usare cron? Imposta un piccolo cron job che viene eseguito ogni minuto. Controlla se la tua applicazione è attiva (usando ps) e, in caso contrario, riavviala.

Crea un piccolo script come questo:

#!/bin/bash
if [ ! "$(pidof myapp)" ] 
then
  /path/to/myapp &
fi

Verifica se "myapp" è nell'elenco dei processi. "!" inverte la prova. Se non c'è, esegue "myapp". "&" è solo così inizia in background.

Aggiungi questo a cron. A seconda del sistema e delle preferenze, ci sono diversi modi per farlo. Quello classico è usare crontab. C'è molta documentazione su come specificare la riga crontab, ma probabilmente vorrai qualcosa del genere:

* * * * * /path/to/the/script.sh > /dev/null

Questo eseguirà il tuo test ogni minuto di ogni ora di ogni... Hai capito.


Usa /etc/inittab puoi utilizzarlo per avviarti nei livelli di esecuzione specifici e se viene ucciso verrà riavviato automaticamente

n:2345:respawn:/path/to/app

Questo lo farà rigenerare nei livelli di esecuzione 2345, probabilmente ti serviranno solo 3 e 5, ma funzionerà bene ed è integrato in Linux.


La maggior parte di Unix/Linux init i programmi gestiranno i demoni per te e li riavvieranno. Cerca di inserire il tuo servizio in /etc/inittab . Oppure potresti usare Upstart o systemd .

Tutti questi programmi vengono eseguiti come PID 1 ed è loro compito monitorare e riavviare i processi di sistema.

Dal tuo tag Busybox presumo che tu stia eseguendo un sistema integrato. Su questi, gli script di init in stile System V con tutti i loro script di shell sono davvero eccessivi. Probabilmente dovresti eliminare tutto questo e sostituirlo con voci in /etc/inittab o lavori upstart o systemd.


Il watchdog del software Linux riavvierà la macchina, non solo riavvierà il tuo processo.

Bene, questo semplicemente non è vero, è molto possibile riavviare uno o più processi dopo che il watchdog ha segnalato che i sistemi sono in sospeso - puoi persino ANNULLARE il riavvio o eseguire un riavvio SOFT, uno è in grado di configurare "test" e " repair"-script/binari che fanno quello che vuoi che facciano. La versione busybox di watchdog è ridotta a un livello quasi inutilizzabile ... immagino che il mondo non saprà mai perché gli sviluppatori di busybox hanno deciso di abbandonare le funzionalità primarie - per ora, sarebbe meglio evitare del tutto busybox --> i miglioramenti della velocità sono quasi inesistenti, la riduzione delle dimensioni non compensa l'enorme perdita di funzionalità. /bin/bash è piuttosto piccolo - ricompila tutto con il flag "-Os" se le dimensioni contano e sei a posto - un watchdog pronto all'uso che consente praticamente tutto ciò che si può desiderare.

Oh, e PER FAVORE NON creare il tuo cane da guardia:molto probabilmente ti lascerà con errori non gestiti e un giorno ti renderà la vita difficile.


Linux
  1. Come usare BusyBox su Linux

  2. Come uso cron in Linux

  3. Come usare TROVA in Linux

  4. Come usare Unzip in Linux

  5. Come usare il comando Su in Linux

Come utilizzare lo schermo Linux

Come usare du Command in Linux

Come utilizzare il terminale Linux in Android

Come utilizzare AppImage in Linux [Guida completa]

Come utilizzare il comando sysctl in Linux

Come utilizzare il comando di arresto di Linux