Info über Prozess mittels PID
-
Hi !
Ich müßte aus einem C-Programm heraus Informationen zu einem Prozess herausfinden. Zum Beispiel ob zu einer bestimmten PID der zugehörige Prozess noch existiert.
Hat da jemand ne Idee ? Oder weiß nen guten Link, am besten mit Beispiel ?
Gruß,
Ben
-
Schau dir mal die Dateien in
/proc/PID/
and, wobei PID die ProzessID ist
Weiteres auch in
man proc
-
das proc Filesystem ist aber leifer abhängig vom verwendeten Unice und nicht standardisiert! Du könntest aber theoretisch mit kill(pid,sig); prüfen ob der Prozess existiert. Wenn kill -1 liefert und errno gleich ESRCH ist, dann existiert der Prozess nicht. Das Problem ist nur ein Signal zu finden, was man an einen Prozess senden kann ohne eine bestimmte reaktion auszulösen.
-
Teste mal getpgid(PID). Das liefert die Prozessgruppenid eines Prozesses, bei Misserfolg eben -1. Bei mir gehts, egal welcher Prozess das ist.
-
Ok, vielen Dank für die Tips, werde mir das mal anschauen.
MfG
Ben