Super, das wäre schon mal ein netter Ansatz :) So könnte es umgesetzt
werden. Allerdings lässt es mich nicht los, den Kernel dazu zu benutzen.
Ich denke doch das es vom Kernel eine Möglichkeit geben muss, solche
Systemereignisse abgreifen zu können oder an einer Schnittstelle eine
Funktion zu hängen. Das wäre super für alle Sicherheitsrelevanten
Applikationen. Virenscanner die auf Dateizugriff scannen usw.

^Henrik

Martin Schmitt schrieb:
> Henrik Schneider schrieb:
> 
>> Ich möchte einen Daemon oder LKM schreiben, das auf bestimmte Kernel
>> Ereignisse reagiert. z.B soll bei dem SIGKILL oder SIGTERM eines anderen
>> Programm, mein Programm bestimmte Funktionen ausführen. Nun stehe ich
>> vor dem Problem das ich schon seit ein paar Stunden google aber nichts
>> anständiges finde. Gibt es nicht eine Möglichkeit an ein Ereigniss im
>> Kernel eine Funktion zu hängen? Mein Programm soll nicht in einer
>> while-schleife rotieren und 100% CPU verballern nur weil es ständig
>> überprüft, ob das und das jetzt passiert ist. Es soll sozusagen vom
>> Kernel angestoßen werden "huhu Programm, ich hab da nen Prozess beendet,
>> mach du jetzt". Mir fehlt einfach der Einstieg. Vielleicht hat jemand
>> von euch eine Idee die mir weiter helfen kann.
> 
> Wenn Du einmal in der Sekunde mit kill -0 an alle Prozesse drangehst,
> die Dich interessieren, kostet das unter Garantie keine 100% CPU:
> 
> $ time kill -0 $$
> 
> real    0m0.000s
> user    0m0.000s
> sys     0m0.000s
> 
> $ time for i in `seq 1 50000`; do kill -0 $$; done
> 
> real    0m0.978s
> user    0m0.964s
> sys     0m0.024s
> 
> Oder für weniger Anspruchslose, mit einem Intervall von einer Minute in
> der Crontab:
> 
> * * * * * killall -0 httpd || /etc/init.d/httpd restart
> 
> -martin
> 
> 

-- 
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an