GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere il PID padre di un determinato processo in GNU/Linux dalla riga di comando?

Riga di comando:

ps -o ppid= -p 1111

Funzione:

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

Alias ​​(è preferibile una funzione):

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

Sceneggiatura:

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

Se non viene fornito alcun PID alla funzione o allo script, per impostazione predefinita mostrano il PPID del processo corrente.

Per utilizzare l'alias, è necessario fornire un PID.


Per stampare gli ID genitore (PPID ) di tutti i processi, usa questo comando:

ps j

Per il singolo processo, basta passare il PID, come:ps j 1234 .

Per estrarre solo il valore, filtra l'output per awk , come:

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

Per elencare i PID di tutti i genitori, usa pstree (installalo se non ce l'hai):

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

Per ottenere il PID genitore del processo corrente, usa echo $$ .


Questa è una di quelle cose che imparo, dimentico, reimparo, ripeto. Ma è utile. Il flag "s" del comando pstree mostra un albero con una foglia in N:

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

Linux
  1. Linux:come scoprire la famiglia di architettura Intel dalla riga di comando?

  2. Come ottenere gli argomenti della riga di comando passati a un processo in esecuzione su sistemi unix/linux?

  3. Nome del processo dal suo pid in Linux

  4. Come ottenere il processo figlio dal processo padre

  5. Come ottenere l'URL del file Dropbox dalla riga di comando?

Come controllare i dettagli meteorologici dalla riga di comando in Linux

Come acquisire schermate dalla riga di comando utilizzando "Scrot" in Linux

Come scoprire l'indirizzo IP pubblico dalla riga di comando su Linux

Come regolare la luminosità del monitor dalla riga di comando in Linux

Come controllare le statistiche di rete Linux dalla riga di comando

Come KILL un processo su Linux