programm triggern

Antworten
Nachricht
Autor
ramses

programm triggern

#1 Beitrag von ramses » 04. Mär 2011 12:57

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

Benutzeravatar
Janka
Beiträge: 3573
Registriert: 11. Feb 2006 19:10

Re: programm triggern

#2 Beitrag von Janka » 06. Mär 2011 12:17

ramses hat geschrieben: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 Beitrag von ramses » 07. Mär 2011 15:21

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

Antworten