Récupéré le PID du grand pére d'1 processu
Résolu
paksouse
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
récupéré la valeur du grand pére d'1 processus :
comment puis je récupéré la valeur du pid du grand père d'un processus .
je savais juste la méthode getpid() et getppid() qui retourne successivement le pid du processus courant et le pid du processus père .
en faite c'est un question d'un contrôle que j'ai passé le samedi dernier , j'ai utilisé cette méthode GETPPID(GETPPID()) mais j'en suis sûr que c'est faux .
Merci d'avance.
j'attend vos réponses avec impatience .
récupéré la valeur du grand pére d'1 processus :
comment puis je récupéré la valeur du pid du grand père d'un processus .
je savais juste la méthode getpid() et getppid() qui retourne successivement le pid du processus courant et le pid du processus père .
en faite c'est un question d'un contrôle que j'ai passé le samedi dernier , j'ai utilisé cette méthode GETPPID(GETPPID()) mais j'en suis sûr que c'est faux .
Merci d'avance.
j'attend vos réponses avec impatience .
A voir également:
- Récupéré le PID du grand pére d'1 processu
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Trier du plus petit au plus grand excel - Guide
- Photo insta en grand - Guide
- Simulateur pid gratuit - Télécharger - Études & Formations
- Simulateur voix du père noël - Forum Logiciels
4 réponses
Effectivement car getppid() ne prend pas de paramètre, tu ne peux donc pas la composer par elle même. Il était précisé que tu devais répondre avec du langage C ?
Personnellement j'aurais plutôt utilisé la commande :
... qui donne l'arbre des processus. Ensuite avec un grep bien choisi j'aurais extrait la ligne du processus qui m'intéresse, ainsi que les deux lignes qui précèdent (père et grand père) avec l'option -B2. Et j'aurais enfin conservé uniquement la première ligne parmi ces trois avec head -n1.
Note la présence du "grep -v grep" qui permet d'éviter d'être pertubé par les greps présents dans la commande qu'on lance, car évidemment, si l'on a plusieurs processus extraits à la suite des greps, tout tombe à l'eau.
Ensuite avec awk, on peut extraire la colonne qui nous intéresse (on peut aussi passer à ps des options pour avoir un format plus pratique à manipuler)
Bonne chance
Personnellement j'aurais plutôt utilisé la commande :
ps faux
... qui donne l'arbre des processus. Ensuite avec un grep bien choisi j'aurais extrait la ligne du processus qui m'intéresse, ainsi que les deux lignes qui précèdent (père et grand père) avec l'option -B2. Et j'aurais enfin conservé uniquement la première ligne parmi ces trois avec head -n1.
(mando@aldur) (~) $ ps faux | grep -v grep | grep -B2 ssh-agent root 1978 0.0 0.1 60328 2176 ? S 09:53 0:00 \_ -:0 mando 2096 0.0 0.0 4148 632 ? Ss 09:56 0:00 \_ /bin/sh /usr/bin/startkde mando 2137 0.0 0.0 12236 300 ? Ss 09:56 0:00 \_ /usr/bin/ssh-agent /usr/bin/gpg-agent --daemon --sh --write-env-file=/home/mando/.gnupg/gpg-agent-info-aldur /usr/bin/dbus-launch --exit-with-session /usr/bin/startkde (mando@aldur) (~) $ ps faux | grep -v grep | grep -B2 ssh-agent | head -n1 root 1978 0.0 0.1 60328 2176 ? S 09:53 0:00 \_ -:0
Note la présence du "grep -v grep" qui permet d'éviter d'être pertubé par les greps présents dans la commande qu'on lance, car évidemment, si l'on a plusieurs processus extraits à la suite des greps, tout tombe à l'eau.
Ensuite avec awk, on peut extraire la colonne qui nous intéresse (on peut aussi passer à ps des options pour avoir un format plus pratique à manipuler)
(mando@aldur) (~) $ ps faux | grep -v grep | grep -B2 ssh-agent | head -n1 | awk '{print $12}' -:0
Bonne chance
Effectivement tu peut utiliser getpid et getppid pour avoir la valeur du pid et du pid père. Il n'existe pas de fonction retournant le pid du grand père.
Pour ce faire il faut que le père envoie le pid du grand-père à son fils. Via tube,socket,fichier...
Pour ce faire il faut que le père envoie le pid du grand-père à son fils. Via tube,socket,fichier...