programm triggern

Post Reply
Message
Author
ramses

programm triggern

#1 Post by ramses »

Moin leute,

ich möchte den Sytemstart eines Programmes überwachen, um eine Aktion auf dieses Ereignis aufzurufen.

Das Ereigniss soll aber nicht durch ein Cronjob oder eine Sleep-Schleife passieren.
Der Besitzer des zu überwachenden Prozesses hat keine Login-Shell.
Die Methode, das Programm mit einem Aufrufscript in eines wie das Programm selbst benannte Script zu legen geht ebenfalls nicht.

Gibt es noch gute Ideen?

Gruß
ramses

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

Re: programm triggern

#2 Post by Janka »

ramses wrote:Moin leute,

ich möchte den Sytemstart eines Programmes überwachen, um eine Aktion auf dieses Ereignis aufzurufen.

Das Ereigniss soll aber nicht durch ein Cronjob oder eine Sleep-Schleife passieren.
Der Besitzer des zu überwachenden Prozesses hat keine Login-Shell.
Soweit ok.
Die Methode, das Programm mit einem Aufrufscript in eines wie das Programm selbst benannte Script zu legen geht ebenfalls nicht.
Warum geht das nicht? Das ist nämlich die simpelste und zuverlässigste Methode.

Alternativ kann man was mit inotify basteln, das triggert aber nicht auf den Programmstart, sondern auf den Zugriff auf das Executable, außerdem gibt es seit kurzem eine Erweiterung für den Kernel, die einen Prozess automatisch in eine bestimmte cgroup reinpackt -- auch damit könnte man etwas basteln. Beides ist für diesen Anwendungsfall aber nicht gedacht und daher unzuverlässig und/oder fummelig.

Weiterhin alternativ kann man auch auf das Log des Programms triggern, sofern es ein produziert, oder man patcht das Programm so, dass es das tut. Beides ist sehr zuverlässig und immer noch viel simpler als das obige Gebastel.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

ramses

inotify

#3 Post by ramses »

Hallo,

danke für den Tipp mit inotify, das werde ich mal weiter verfolgen.

Warum das mit dem gemandelten Script nicht geht, liegt wahrscheinlich an der Kompliziertheit des Programmstartes.
Es geht um den Start von NX-NoMachine (freie Version). Dort dürfen nur 2 User gleichzeitig angeldet sein. Es soll beim Start nachgesehen werden, ob ein registrierter User inaktiv ist und diesen dann löschen.

Gruß ramses

Post Reply