PID aus Unterprozess ermitteln

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
johnny.b
Beiträge: 13
Registriert: 09.07.2006 11:53:46

PID aus Unterprozess ermitteln

Beitrag von johnny.b » 02.09.2006 10:27:34

Hi.

Ich möchte aus einem Kind/Unterprozess die PID des "Mutter"-Programms herausfinden.

Wenn ich es richtig in der "man bash" gelesen habe, müsste diese Information herausgeben. Leider ist dem aber nicht so. Ich bekomme entwerder eine 0 oder überhaupt keine PID vom Vorherigen Prozess, welcher mein Script ausführt.

Gibt es hier noch eine andere Lösung?

Gruß

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Beitrag von SubOptimal » 02.09.2006 11:09:04

Hi,

wenn Du die bash verwendest dann geht es so recht einfach

Code: Alles auswählen

#!/bin/sh
ps -ft
echo 'PPID '$PPID
SubOptimal

johnny.b
Beiträge: 13
Registriert: 09.07.2006 11:53:46

Beitrag von johnny.b » 02.09.2006 11:17:45

SubOptimal hat geschrieben:Hi,

wenn Du die bash verwendest dann geht es so recht einfach

Code: Alles auswählen

#!/bin/sh
ps ft
echo 'PPID '$PPID
SubOptimal
Es funktioniert, auch wenn ich noch nicht so recht verstehe wie (schau mir gleich die Doku genauer an), aber es funktioniert.

Danke!!!
Gruß

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 02.09.2006 11:31:53

$! gibt dir die PID des zuletzt gestarteteten Childprozesses zurück.
Beispiel

Code: Alles auswählen

programm_das_im_hintergrund_laufen_soll &
echo $!  # -> PID des eben gestarteteten Jobs
Die PID des Vaterprozesses bekommst du, wie schon geschrieben, mit $PPID oder auch mit $$

Benutzeravatar
Baer
Beiträge: 373
Registriert: 08.09.2004 17:09:13
Wohnort: Zürich

Beitrag von Baer » 02.09.2006 11:33:45

hallo miteinander
noch einen zum Thema:

Code: Alles auswählen

pstree -p |grep prozessname
zeigt KInder und Eltern.
Gruss urs

Antworten