Der Shell-Prozess ist, $$
da es sich um einen speziellen Parameter handelt
Unter Linux bietet das Dateisystem proc (5) viele Informationen zu Prozessen. Vielleicht
hilft auch pgrep (1) (der Zugriff /proc
).
Versuchen Sie also cat /proc/$$/status
, den Status des Shell-Prozesses abzurufen.
Daher könnte seine übergeordnete Prozess-ID mit z
parpid=$(awk '/PPid:/{print $2}' /proc/$$/status)
Verwenden Sie dann $parpid
in Ihrem Skript, um auf die übergeordnete Prozess-PID (das übergeordnete Element der Shell) zu verweisen.
Aber ich glaube nicht, dass du es brauchst!
Lesen Sie einige Bash-Anleitungen (oder mit Vorsicht erweiterte Bash-Scripting-Anleitungen , die Fehler enthalten) und erweiterte Linux-Programmierung .
Beachten Sie, dass einige Server-Daemon-Prozesse (die normalerweise eindeutig sein müssen) ihre PID explizit schreiben /var/run
, z. B. sshd
schreibt der Server-Daemon seine PID in die Textdatei /var/run/sshd.pid
. Möglicherweise möchten Sie eine solche Funktion in Ihre eigenen serverähnlichen Programme einfügen (codiert in C, C ++, Ocaml, Go, Rust oder einer anderen kompilierten Sprache).