Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
24.08.2001, 23:26
TheTinySteini



Hi, sorry, dass ich euch jetzt mal als lebende Manpage missbrauche =)

Ich möchte gerne wissen, wie ich von einem C-Programm aus (suid root) eine Anwendung, von der ich nur den Namen weiß, die aber garantiert nur einmal läuft, die PID bekomme und dann diese Anwendung alà "kill PID" herunterfahren kann. Gehen tut das, da bin ich mir sicher, aber wie stelle ich das an?

Ach, und wie lasse ich eigene Anwendungen auf bestimmte kill-Befehle reagieren, z.B. kill -HUP?

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
001
25.08.2001, 00:34
[PE]Spinator



killall progname

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
002
25.08.2001, 13:50
TheTinySteini



Ja, so is der Linux-Konsolenbefehl. Ich will aber nicht den Befehl, sondern die C-Funktion. Es gibt dies hier:
Quellcode:int kill(pid_t pid, int sig);
... aber da brauch ich die pid eines Programms. Und wie komm ich an die? Ich bräuchte sowas wie den Konsolenbefehl pidof. Hmm... other suggestions?

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
003
25.08.2001, 14:32
[PE]Spinator



axo :)
ich programmiere nicht unter Linux... arbeite nur manchmal damit. Soviel ich weiss gibt es da keine funktion. Vielleicht bringt dir der source zu killall was ;)

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
004
25.08.2001, 15:32
TheTinySteini



Lol, diese Antwort hab ich jetzt nicht erwartet, aber danke! Denn Sie bringt mir wirklich was, nämlich die Einsicht, dass es nicht so einfach ist wie erwartet. Grmpf. Zumindest wenn ich den Code beim schnellen Überfliegen richtig interpretiert habe, dann muss man sich da manuell durch die pid-Liste quälen und jeden einzelnen Prozess abfragen. Nee, nee, das is mir zu aufwändig, da mach ich das dann lieber mit nem shell-execute oder ich schreib den Source von dem anderen Programm so um, dass er seine pid in ner tmp-Datei ablegt. Hachja...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
005
26.08.2001, 17:36
Kriz



Gibbet da kein getPID() oder sowas in fork.h?

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
006
26.08.2001, 20:29
[PE]Spinator



getpid( ) gibt afaik nur die pid des eigenen programms aus...

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
007
28.08.2001, 20:14
Prefect



Du mußt einfach die Prozesse in /proc durchgehen, bis du deinen Todeskandidaten findest...

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
008
29.08.2001, 19:38
TheTinySteini



... genau das macht killall auch. Ich hatte nur gehofft, es geht einfacher =)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche