117 votes

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

Résolu avant d'être demandé : cat /proc/1111/status | grep PPid

5voto

jthill Points 151

Sous Linux :

ps hoppid $thatprocess

3voto

lospejos Points 686
$ ps -p $(ps -p $(echo $$) -o ppid=) -o comm=
    tmux

Un exemple un peu plus complexe qui vérifie la commande d'un parent qui a lancé le processus actuel Remplacez comm= par cmd= pour voir la commande complète.

2voto

Praveen S. Points 21

Exécuter top avec les options que vous voulez, comme -u username and -p PID .

Et pendant que top est la presse de travail f il affiche une liste d'options que vous voulez afficher dans top et les paramètres affichés seront affichés en lettres majuscules et les paramètres qui ne sont pas affichés seront affichés en lettres minuscules.

Ainsi, en saisissant la lettre qui précède le paramètre, vous pouvez l'activer ou le désactiver. Pour l'ID du processus parent, vous devez entrer b puis appuyez sur Enter il affichera le PPID dans la sortie supérieure.

1voto

Gevork Palyan Points 79

Voici une solution rapide qui devrait également fonctionner :

ps $$

1voto

jsbueno Points 191

Tous les processus parents d'un pid

Je suis venu ici lorsque j'essayais de trouver "tous les processus parents d'un pid". J'ai fini par créer ma propre fonction récursive pour le faire.

pid_lineage.sh

#!/bin/bash -eu

main(){
  ps --pid ${1:-$$} --no-headers --format pid,ppid,args | \
    (
      read pid ppid args
      echo -e "$pid\t$args"
      [[ $pid -gt 1 ]] && main $ppid
    )
}

main "$@"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X