Comment trouver le processus parent dans Linux

Comment trouver le processus parent dans Linux
Lors de l'exécution d'un programme, le noyau crée un processus qui aide à stocker les détails d'exécution du programme dans la mémoire du système. Lorsqu'un programme s'exécute, il devient un processus pour le système. Nous pouvons donc dire qu'un processus est un programme jusqu'à ce qu'il s'exécute.

Le processus créé par le noyau est connu sous le nom de «Processus parental,»Et tous les processus dérivés du processus parent sont appelés«Processus enfants.«Un seul processus peut être composé de plusieurs processus enfants ayant un Piquer Mais avec le même PPID.

Une question peut se produire dans l'esprit du débutant que la différence entre le PID et le PPID?

Nous avons déjà discuté Piquer Dans la plupart de nos articles, si vous êtes le nouveau, pas de soucis!

Dans les systèmes Linux, plusieurs processus sont exécutés à la fois. Parfois, un processus peut avoir un seul thread (unité d'exécution dans un processus) ou plusieurs threads. Les processus ont des états différents; Ils pourraient être en attente, prêt ou en état de course. Tout dépend de la façon dont l'utilisateur ou le noyau les priorise. Ainsi, ces processus sont identifiés par les chiffres uniques que nous appelons ID de processus (PID). Les nombres uniques pour les processus parents sont appelés PPID, et chaque processus parent peut avoir plusieurs processus d'enfants avec ses identifiants de processus uniques. Les Pids des processus enfants sont différents car ils représentent des unités d'exécution distinctes mais ont le même ID de processus parent (PPID).

Nous avons besoin PPID Lorsque le processus de l'enfant crée des problèmes et ne fonctionne pas correctement. Dans ce cas, il peut affecter le fonctionnement d'autres processus, et le système pourrait également être affecté. Ici, pour arrêter le processus qui s'exécute en continu, il est nécessaire de tuer son processus parent.

Vérifions comment nous pouvons trouver PPID:

Comment trouver l'ID de processus parent (PPID) dans Linux:

Nous avons quelques approches pour trouver le PPID d'un processus en cours dans les systèmes Linux:

  1. En utilisant le "ptree "Commande
  2. En utilisant le "ps" Commande

Comment trouver PPID à l'aide de la commande pStree dans Linux:

Le "ptree"La commande est une bonne approche pour identifier l'ID de processus parent (PPID) car il montre la relation parent-enfant dans une hiérarchie d'arbre.

Tapez le simple "ptree«Commande avec le«-p”Option dans le terminal pour vérifier comment il affiche tous les processus parents en cours d'exécution avec leurs processus d'enfant et les PID respectives.

$ PSTREE -P

Il montre l'ID parent avec les ID de processus de l'enfant.

Vérifions un exemple de «Mozilla Firefox» pour obtenir son PPID avec la hiérarchie du processus complète. Exécutez la commande suivante dans le terminal:

$ PSTREE -P | grep "Firefox"

(grep est un outil de ligne de commande qui aide à rechercher une chaîne particulière)

Dans les résultats mentionnés, nous pouvons voir que 3528 est le PPID du processus "Incendier,»Et tous les autres sont des processus enfants.

Pour imprimer uniquement l'ID de processus parent dans le terminal, exécutez la commande mentionnée:

$ PSTREE -P | grep «Firefox» | tête -1

Comment trouver PPID à l'aide de la commande ps:

Le "ps«L'utilitaire de commande est une autre façon de traiter les informations du«/ proc”Système de fichiers et surveillez-les.

Grâce à cette commande, l'utilisateur peut également trouver le PPID et Pides d'un processus en cours d'exécution.

Exécutez ce qui suit "ps«Commande avec le«ef”Option pour afficher des informations détaillées sur les processus, notamment PPID:

$ ps -ef

Si vous souhaitez afficher le PPID d'un processus spécifique avec des détails, exécutez le mentionné "ps«Commande avec le«grep»:

$ ps -ef | grep "Firefox"

(le "-F«L'option est utilisée pour répertorier les détails du processus)

Et pour obtenir uniquement le PPID de "Incendier,”Utilisez la syntaxe suivante:

$ ps -e | grep [process_name]

Alors, trouvez le PPID de "incendier«Utilisation de la commande:

$ ps -e | grep "Firefox"

Conclusion:

À chaque exécution d'un programme, le noyau crée un processus qui charge les détails d'exécution en mémoire. Ce processus créé est connu comme le processus parental Avoir des fils simples ou multiples. Chaque processus a attribué l'unique PPID et Pides automatiquement par le noyau.

Tout en travaillant avec le système Linux, il faut connaître le PPIDS des processus en cours d'exécution. Un problème avec le processus enfant peut affecter les autres processus. Dans de tels cas, nous pouvons avoir besoin de tuer le processus parent.

Le PPIDS des processus en cours d'exécution peuvent être identifiés en utilisant plusieurs façons. Les approches les plus simples sont à travers le «ps«Commande et«ptree" commande.

Nous avons vu ci-dessus comment nous pouvons découvrir le PPID d'un processus spécifique en utilisant ces deux outils de commande.