  Qudevmon este un daemon care poate fi configurat sa execute anumite comenzi in functie de evenimentele
produse in kernel de catre dispozitivele detasabile (mouse, tastatura, modemuri externe, flashcarduri, etc).
'qudevmon' poate urmari evenimentele produse de un dispozitiv dupa trei criterii carora le corespund
urmatoarele nume de cheie:
	DEVPATH - corspunde caii dispozitivului
	ACTION - corespunde numelui actiunii evenimentului
	SUBSYSTEM - corespunde subsistemului de dispozitive

  Valoarea sau starea fiecareia din aceste chei la conectarea sau deconectarea unui dispozitiv poate fi
aflata tot cu ajutorul lui 'qudevmon' dind in consola comanda:
	# qudevmon -v
Aceasta va afisa in consola o serie de valori pentru cele trei chei de genul:

************************************************************************************
DEVPATH - /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4.4/1-4.4:1.0/usbdev1.51_ep05
ACTION - add
SUBSYSTEM - usb_endpoint
----------------------------------------
DEVPATH - /class/tty/ttyUSB0
ACTION - add
SUBSYSTEM - tty
----------------------------------------
DEVPATH - /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4.4/1-4.4:1.0/ttyUSB0
ACTION - add
SUBSYSTEM - usb-serial
----------------------------------------
************************************************************************************

  Fiecare grup de valori, despartit de cite o linie formata di caractere "-" de celelalte, corespunde cite unui
eveniment ce se produce in kernel la conectarea sau deconectarea unui dispozitiv.
spre exemplu grupul
	DEVPATH - /class/tty/ttyUSB0
	ACTION - add
	SUBSYSTEM - tty
corespunde evenimentului crearii nodului '/dev/ttyUSB0' la conectarea modemului la USB-ul calculatorului.

  Comportarea lui 'qudevmon' se configureaza in fisierul '/etc/qudevmon.conf' structura unui fisier de
configurare pentru 'qudevmon' este ca in modelul de mai jos:

*********************************************************************************************************************
# DEVPATH					ACTION			SUBSYSTEM		COMMAND TO RUN

/class/tty/ttyUSB0				add			tty			service internet start
/class/tty/ttyUSB0				remove			tty			service internet stop
*********************************************************************************************************************

Liniile care incep cu '#' si cele goale sunt ignorate, liniile considerate de 'qudevmon' trebuie sa contina
minim 4 cuvinte pe linie despartite fie de caracterul spatiu fie de caracterul tab.
Primul cuvint din linie corespunde valorii cheii DEVPATH, al doilea cuvint corespunde starii cheii ACTION,
al treilea corespunde valorii cheii SUBSYSTEM iar de la al patrulea cuvint si pina la sfirsitul liniei,
incepe comanda ce va fi executata la potrivirea continutului celor trei chei cu cele produse de kernel la
producerea evenimentului urmarit.
 Asadar, in exemplul de fisier de configurare dat mai sus, 'qudevmon' va executa comanda 'service internet start'
care va porni daemonul pppd la aparitia in sistem a nodului '/dev/ttyUSB0', eveniment caruia ii corespund
valorile:
	'/class/tty/ttyUSB0' pentru cheia DEVPATH
	'add' pentru cheia ACTION
	'tty' pentru cheia SUBSYSTEM

  Pentru rularea lui 'qudevmon' ca daemon se foloseste comanda:
	#qudevmon -d
care se poate scrie intr-un script din folderul cu scripturi pentru serviciile sistemului pentru a rula ca serviciu.
Inainte de aceasta, insa, copiati executabilul 'qudevmon' intr-unul din folderele din variabila de sistem PATH,
spe exemplu in '/bin'

	Compilarea se face cu: 'gcc qudevmon.c -o qudevmon'

  Daca in unele cazuri este nevoie ca daemonul sa nu execute comenzile specificate in fisierul de configurare,
adica sa fie dezactivat temporar fara insa a fi oprit, se poate trimite procesului 'qudevmon' semnalul SIGUSR1
pentru dezactivarea sa iar cind se doreste reactivarea se va trimite semnalul SIGUSR2. Aceasta operatiune se
poate face spre exemplu folosind comenzile 'killall -USR1 qudevmon' si respectiv 'killall -USR2 qudevmon'.

  ATENTIE:
	'qudevmon' necesita privilegii de root pentru rularea sa.

