Per quasi un anno ho lavorato sul mio democheto NUCKY. Oggi ho avuto il tempo di raddrizzare le cose perché c'erano un sacco di cose che non erano abbastanza buoni. Aggiunta una nuova funzionalità. codice riarrangiato, con più funzioni così ho accorciato e diventare più user friendly.

La novità principale, che ha segnato un segnale di trap-e. Ad un certo punto come ricevitore filatura demone Dreambox deciso di ucciderlo e si ferma quindi il mio processo di monitoraggio, che di per sé è abbastanza sgradevole momento. E non riesco a capire cosa sta succedendo come la posizione per i log è scandalosamente piccolo e devo fare schemi complicati con condivisioni di rete che non riguardano. Nelle linee: segnale comune trappola-a è una caratteristica piacevole di script bash per intercettare segnali provenienti uscite o quelli presentati dal kernel-un'uccisione da dire 😉 e quindi siamo in grado di prevenire alcuni degli eventi immediatamente successivi. Basta spremere che SIGKIL o uccidere -9 non può essere intercettato e impedito, È stato progettato nel nucleo. Termina direttamente fatto scendere PID. Ora il codice corrispondente

#trapping signals I know -9 dosent work but we try it just in case ; )
trap on_exit 0 14 1 2 9 13 15 6 8 4 3 11 5
on_exit () {
make_debug 10 #unexpected error
#reboot now if we hawe trapped signal
reboot -d 0
exit 0
}

La nostra prima linea dichiara quale azione intraprendere e quali segnali può prendere più attenti segnali uomo Nel caso mi 😉 questi mi interessano. Come si è visto portare a una semplice funktsiika che fa messaggio di debug e il ricevitore riavvio. Sì, c'è il pranzo, che porterà al risultato che mi aspetto, perché penso che tutto ciò che ostacola viene ucciso con kill -9 ma nulla impedisce di provare.

L'altro grande cambiamento sono le funzioni maggior parte delle cose che si ripetono codice loro confezionati in caratteristiche, era un po 'non sgradevoli, ora è il de 😉 ho avuto un dramma mite in cambio bash-e – Ho messo il ritorno in una funzione e aspetto che un comportamento come tutti i miei altri linguaggi di programmazione noti, ma si è scoperto che il ritorno restituisce solo valori interi e poi su 2 😀 e volevo stringa me indietro. C'è stato un brutto inferno. La soluzione è semplice

#---cuted---

if [ $T -eq $N ]
 then
 echo "Cam is down! Reboot..."
make_debug 4 # cam is down
 else
echo $rcam
 fi

# ---cuted----

#finding real cam1
 rcam1=$(find_cam $cam1)

La prima parte è la fine della mia funzione ed echo il risultato dalla win. Il suo processo decisionale è semplice con l'ultima riga nel suddetto passaggio.

Hmmm pensare, questa è la parte interessante del codice.

Voglio ringraziare ispirazione 😉

http://www.youtube.com/watch?v = SilMJ0O13UI&caratteristica = correlati