Wie bekomme ich einen Kindprozess vom Elternprozess?
Ist es möglich, dass der Kind-Prozess-id vom parent-Prozess-id in shell-Skript?
Habe ich eine Datei ausführen shell-Skript, das führt zu einem neuen Prozess process1 (parent-Prozess). Diese process1 hat die Gabel einen anderen Prozess prozess2(Kind-Prozess). Mit einem Skript, ich bin in der Lage, die pid der process1 mit dem Befehl:
cat /path/of/file/to/be/executed
aber ich bin nicht in der Lage zu Holen die pid des child-Prozesses.
InformationsquelleAutor der Frage AlwaysALearner | 2013-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach :
InformationsquelleAutor der Antwort Miklos Aubert
Ich bin nicht sicher, ob ich Sie richtig verstehe, funktioniert diese Hilfe?
InformationsquelleAutor der Antwort Kent
I ' V geschrieben scrpit, um alle child-Prozess die PID des parent-Prozesses.
Hier ist der code.Hoffe, es hilft.
InformationsquelleAutor der Antwort Goofy
Den shell-Prozess ist
$$
da es ein spezielle parameterUnter Linux, die proc(5) Dateisystem gibt eine Menge von Informationen über Prozesse. Vielleicht
pgrep(1) (welche Zugriffe
/proc
) könnte auch helfen.So versuchen
cat /proc/$$/status
um den status des shell-Prozesses.Daher, seine übergeordnete Prozess-id abgerufen werden konnten, z.B.
Dann verwenden
$parpid
im Skript zu verweisen auf die übergeordnete Prozess-pid (die Muttergesellschaft der shell).Aber ich glaube nicht, dass Sie es brauchen!
Lesen Sie einige Bash Guide (oder mit Vorsicht advanced bash-scripting guideder hat Fehler) und advanced linux programming.
Beachten Sie, dass einige server-daemon-Prozesse (welche in der Regel müssen eindeutig sein) sind explizit schreiben Ihre pid in
/var/run
z.B. diesshd
server-daemon zu schreiben der pid in die Textdatei/var/run/sshd.pid
). Sie können hinzufügen, eine solche Funktion in Ihre eigenen server-Programme wie (coded in C, C++, Ocaml, Go, Rust oder einige andere zusammengestellt Sprache).InformationsquelleAutor der Antwort Basile Starynkevitch
Obigen Befehl druckt die jeweiligen Prozesse generiert aus
parent_pid
hoffe es hilft.+++++++++++++++++++++++++++++++++++++++++++
InformationsquelleAutor der Antwort krishna
Zu bekommen, wird der Kind-Prozess und thread,
pstree -p PID
.Es zeigt auch die hierarchischen Baum
InformationsquelleAutor der Antwort where23
}
InformationsquelleAutor der Antwort user7329527