bonjour, tous d'abord bonne année à tous le monde voila le site developpez vieilli un an de plus deja
voila comment afficher tous les pid des processus fils d'un processus parent?
ps: toute proposition réaliste je suis preneur
cordialement @+
bonjour, tous d'abord bonne année à tous le monde voila le site developpez vieilli un an de plus deja
voila comment afficher tous les pid des processus fils d'un processus parent?
ps: toute proposition réaliste je suis preneur
cordialement @+
En utilisant astucieusement le résultat du "ps -edf" associé à un script intelligent pour traiter les info reçues
Tu veux le faire en C? en java? en script shell?
Il y'a plusieurs facons de faire.
En C, la valeur de retour du fork () peut t'aider.
Good luck !
en shell ou en C , le fork() :le fork crée ou duplique un processus et retourne la valeur du pid enfant au pére je ne vois pas comment ça pourait m'aider sinon auriez vous un peu plus de détails à me donner ?
Cordialement @+
Si tu es en C, souviens-toi des pid retournés par fork.
Si tu es en shell et que tu veux connaître les fils d'un processus p donné, alors il suffirait de faire quelque chose dans ce style :
Mais il y a sûrement plus simple, je n'ai pas réfléchi longtemps à la question...
Code : Sélectionner tout - Visualiser dans une fenêtre à part p=4618;ps axo pid,ppid|grep $p|tr -s " "|sed -e 's/^ *//g'|cut -f 1 -d ' '|grep -v $p
Jc
En c, T'as une fonction qui s'appelle getpid() qui renvoie l'id du processus.
Ces 2 liens peuvent t'aider :
http://www.linux-kheops.com/doc/man/.../getpid.2.html
http://www.linux-kheops.com/doc/man/...n2/fork.2.html
tous d'abord Merci pour vos réponses
la solution en shell me parait beacoup plus simple .
pour l'instant j'arrive à lister tous les processus mais je veux ajouter quelques infos par exemple afficher le cmdline de chaque processus son tty son uid et son stime, c'est possible de le faire en shell ?
ps:j'ai regardé les liens que vous m'avez donner je l'ai avais deja lu .
cordialement @+
On a la même chose en shell avec la variable "$!". Sauf que ta remarque ne sert à rien car il ne veut pas créer de nouveau processus ! Il veut simplement lister les processus fils d'un processus donné !!!
Comme quoi, je remarque après avoir lu tous les posts donnés pour ce topic qu'on en arrive finalement à la réponse que j'avais donnée => à savoir un ps -edf associé à un algo intelligent basé sur du grep et du cut.
Le shell n'est rien de plus qu'une encapsulation de commandes. Si tu arrives à avoir les infos qui t'intéressent par une commande quelconque, style "ps -edfl", ben rien ne t'empêche ensuite d'encapsuler cette commande par un traitement de ton choix pour analyser et extraire les infos qui t'intéressent.
Exemple
Ce code ne fait rien de plus qu'un affichage du "ps -edfl" mais il te le fait ligne par ligne. c.a.d. qu'il te récupère une ligne issue du "ps -edfl", l'affiche puis passe à la ligne suivante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #!/bin/sh ps -edfl |while read ligne do echo "[$ligne]" done
Maintenant, au lieu d'afficher la ligne, ben rien ne t'empêche de la récupérer, la décortiquer, l'analyser, voir si l'info t'intéresse, si oui mettre certaines variables avec certaines valeurs, bref développer un algo qui réponde à ton besoin.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager