IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

affichage des processus enfants


Sujet :

Linux

  1. #1
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut affichage des processus enfants
    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 @+

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    En utilisant astucieusement le résultat du "ps -edf" associé à un script intelligent pour traiter les info reçues

  3. #3
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    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 !

  4. #4
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re : salut
    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 @+

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    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 :

    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
    Mais il y a sûrement plus simple, je n'ai pas réfléchi longtemps à la question...

    Jc

  6. #6
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par diden138 Voir le message
    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 @+
    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

  7. #7
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re : salut
    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 @+

  8. #8
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par diden138 Voir le message
    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 @+
    Lit la page man de ps pour ajouter des choses derrière mon pid,ppid et ensuite, il faudra jouer avec la commande cut.

    Jc

  9. #9
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par publicStaticVoidMain Voir le message
    En C, la valeur de retour du fork () peut t'aider.
    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.

    Citation Envoyé par diden138 Voir le message
    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 ?
    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
    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
    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.
    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.

Discussions similaires

  1. Créer des processus enfants
    Par Gecko dans le forum NodeJS
    Réponses: 0
    Dernier message: 27/09/2014, 20h22
  2. Réponses: 1
    Dernier message: 01/08/2012, 12h51
  3. [Flex3] Limiter la zone d'affichage des enfants
    Par yan dans le forum Flex
    Réponses: 0
    Dernier message: 23/11/2010, 10h05
  4. Réponses: 3
    Dernier message: 17/09/2010, 15h05
  5. Réponses: 0
    Dernier message: 02/07/2010, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo