GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erhalte ich die übergeordnete PID eines bestimmten Prozesses in GNU/Linux von der Befehlszeile aus?

Befehlszeile:

ps -o ppid= -p 1111

Funktion:

ppid () { ps -p ${1:-$$} -o ppid=; }

Alias ​​(bevorzugt eine Funktion):

alias ppid='ps -o ppid= -p'

Skript:

#!/bin/sh
pid=$1
if [ -z $pid ]
then
    read -p "PID: " pid
fi
ps -p ${pid:-$$} -o ppid=

Wenn der Funktion oder dem Skript keine PID übergeben wird, zeigen sie standardmäßig die PPID des aktuellen Prozesses an.

Um den Alias ​​zu verwenden, muss eine PID angegeben werden.


Eltern-IDs drucken (PPID ) aller Prozesse verwenden Sie diesen Befehl:

ps j

Übergeben Sie für den einzelnen Prozess einfach die PID, wie:ps j 1234 .

Um nur den Wert zu extrahieren, filtern Sie die Ausgabe nach awk , wie:

ps j | awk 'NR>1 {print $3}' # BSD ps
ps j | awk 'NR>1 {print $1}' # GNU ps

Um die PIDs aller Eltern aufzulisten, verwenden Sie pstree (Installieren Sie es, wenn Sie es nicht haben):

$ pstree -sg 1234
systemd(1)───sshd(1036)───bash(2383)───pstree(3007)

Um die übergeordnete PID des aktuellen Prozesses zu erhalten, verwenden Sie echo $$ .


Dies ist eines dieser Dinge, die ich lerne, vergesse, neu lerne, wiederhole. Aber es ist nützlich. Das 's'-Flag des pstree-Befehls zeigt einen Baum mit einem Blatt bei N:

pstree -sA $(pgrep badblocks)
systemd---sudo---mkfs.ext4---badblocks

Linux
  1. So löschen Sie Dateien und Verzeichnisse in Linux über die Befehlszeile

  2. Linux – Wie finde ich die Intel-Architekturfamilie über die Befehlszeile heraus?

  3. Wie bekomme ich die Befehlszeilenargumente an einen laufenden Prozess auf Unix/Linux-Systemen übergeben?

  4. Prozessname von seiner PID in Linux

  5. So erhalten Sie einen untergeordneten Prozess aus einem übergeordneten Prozess

So überprüfen Sie Wetterdetails von der Befehlszeile in Linux

So erstellen Sie Screenshots von der Befehlszeile mit „Scrot“ unter Linux

So finden Sie die öffentliche IP-Adresse über die Befehlszeile unter Linux heraus

So passen Sie die Monitorhelligkeit über die Befehlszeile in Linux an

So überprüfen Sie die Linux-Netzwerkstatistik über die Befehlszeile

Wie man einen Prozess unter Linux beendet