Dum preskaŭ unu jaro mi estis laboranta sur mia democheto Nuki. Hodiaŭ mi havis tempon por rektigi aferojn ĉar estis multaj aferoj, kiuj estis ne tute bona. Aldonis novajn funkciojn. rearanĝitaj kodo, kun pli karakterizaĵoj do mi mallongigis ĝin kaj fariĝi pli uzanto amika.

La ĉefa nova trajto kiu trafis signalon kaptilo-kaj. En iu punkto kiel ŝpinita demono dreambox ricevilo decidis mortigi lin kaj tiel haltas monitoreo procezo mia, kiu en si mem estas sufiĉe malagrabla momento. Kaj mi ne povas kompreni kio okazas kiel la loko por ŝtipoj estas outrageously malgranda kaj mi devas fari komplikaj skemoj kradajxo agoj kiuj ne agu. En linioj: Komuna signalo kaptilo-a estas agrabla karakterizaĵo de bash skriptoj interkapti signalojn de eligoj aŭ tiuj senditaj de la kerno-a mortigo diros 😉 kaj tiel ni povas malhelpi iujn de la tuj posta okazaĵoj. Nur elpremi ke SIGKIL aŭ mortigi -9 ne povas esti interkaptis kaj malhelpis, Ĝi estas desegnita en la kerno. Ĝi finiĝas rekte sendita malsupren PID. Nun rilata kodo

#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
}

Nia unua linio deklaras kion ago preni kaj kiu signaloj ne povas kapti vin pli atentaj viro signaloj En la kazo 😉 min jam intereso mi. Kiel vidita konduki al simpla funktsiika kiu faras debug mesaĝo kaj rekomenco ricevilo. Jes, tagmanĝo, kiu kondukos al la rezulto, ke mi atendas, ĉar mi pensas ke ĉiu kiu malhelpas estas mortigita per mortigo -9 sed nenio neebligas provi.

La alia granda ŝanĝo estas la funkcioj plej aferoj kiuj ripetas kodo ilin pakis en funkcioj, ĝi estis iom unsightly ne, nun estas la de 😉 mi havis mildan dramo rekompence bash-kaj – Mi metis vian revenon en funkcio kaj atendas konduto kiel ĉiuj miaj aliaj konataj programlingvoj, sed rezultis ke reveno nur redonas entjeron valoroj kaj poste supren 2 😀 kaj mi volis ŝnuro min. Troviĝis malbela hellhole. La solvo estas simpla

#---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)

Първата част е края на функцията ми и чрез echo изплювам резултата. Взимането му е елементарно с последния ред в горния пасаж.

hmmm opinias, jen la interesa parto de la kodo.

Mi volas danki inspiro 😉

http://www.youtube.com/watch?v = SilMJ0O13UI&trajto = rilatajn