GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir le PID parent d'un processus donné sous GNU/Linux à partir de la ligne de commande ?

Ligne de commande :

ps -o ppid= -p 1111

Fonction :

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

Alias ​​(une fonction est préférable) :

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

Scénario :

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

Si aucun PID n'est fourni à la fonction ou au script, ils affichent par défaut le PPID du processus en cours.

Pour utiliser l'alias, un PID doit être fourni.


Pour imprimer les identifiants parents (PPID ) de tous les processus, utilisez cette commande :

ps j

Pour le processus unique, passez simplement le PID, comme :ps j 1234 .

Pour extraire uniquement la valeur, filtrez la sortie par awk , comme :

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

Pour répertorier les PID de tous les parents, utilisez pstree (installez-le si vous ne l'avez pas) :

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

Pour obtenir le PID parent du processus en cours, utilisez echo $$ .


C'est une de ces choses que j'apprends, oublie, réapprends, répète. Mais c'est utile. Le drapeau "s" de la commande pstree affiche un arbre avec une feuille en N :

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

Linux
  1. Comment installer un logiciel à partir de la ligne de commande Linux

  2. Linux - Comment découvrir la famille d'architecture Intel à partir de la ligne de commande ?

  3. Comment faire passer les arguments de ligne de commande à un processus en cours d'exécution sur les systèmes unix/linux ?

  4. Comment obtenir le PID d'un processus enfant forké dans un script shell

  5. Comment démarrer des programmes Linux GUI à partir de la ligne de commande, mais séparément de la ligne de commande ?

Comment vérifier les détails météorologiques à partir de la ligne de commande sous Linux

Comment faire des captures d'écran à partir de la ligne de commande à l'aide de "Scrot" sous Linux

Comment trouver une adresse IP publique à partir de la ligne de commande sous Linux

Comment régler la luminosité du moniteur à partir de la ligne de commande sous Linux

Comment vérifier les statistiques du réseau Linux à partir de la ligne de commande

Comment tuer un processus sous Linux