Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

processus linux



  1. #1
    snsdtiti

    processus linux


    ------

    Bonjour,

    Je suis face à une question que je ne comprend pas, j'espère que vous pourrez éclairer m lanterne ^^'

    Soit la séquence de commandes suivante lancée depuis un terminal (shell) :
    bash
    gedit &
    xclock

    Quel processus possède l'entrée standard après le lancement de chaque commande exécutée ? Donnez les association dans les 3 cas successifs

    "quel processus possède l'entrée standard" : je ne comprend pas trop la question j'aurais répondu stdin mais je ne pense pas que cela soit juste...
    Donnez les 3 cas successifs c'est à dire ce que ça va afficher ?

    Et sinon c'est aussi une question dont je ne suis pas sûre de la réponse, si vous voulez bien me donner votre avis ça serait super ^^

    Quels sont les affichages de la séquence suivante
    ping=pong
    echo $ping
    bash
    echo $ping

    affiche pong puis après bash et echo $ping, affiche rien

    Merci d'avance pour les réponses !

    Ps : ces questions sont des questions de partiels des années précédentes et donc je n'ai pas la correction...

    -----

  2. Publicité
  3. #2
    CM63

    Re : processus linux

    Bonjour,

    Au sujet de la réponse que tu proposes pour la première question : stdin n'est pas un processus, c'est flux, donc ce n'est pas ça.

    Après je ne sais pas comment t'aider autrement qu'en donnant les réponses, or ce genre d'exercice est fait pour que tu apprenne à répondre à d'autres questions du même genre, et donc te donner les réponses ne "t'aide pas" dans ce sens.

  4. #3
    CM63

    Re : processus linux

    Ps : au sujet de la deuxième question, c'est la réponse que tu proposes? Oui , c'est bon.
    Commentaire sur ta question sur la première question : stdin est l'entrée standard, donc ça ne peut pas être "le processus qui possède l'entrée standard".
    Et sinon moi non plus je ne comprends pas ce qu'il entend par "les associations".
    Dernière modification par CM63 ; 02/11/2019 à 18h54.

  5. #4
    snsdtiti

    Re : processus linux

    Je te remercie beaucoup pour ta réponse ^^ il me semblait bien que stdin allait être faux mais je t'avouerai que même avec mon cours, je ne vois pas du tout... mais je me demande si la réponse ne serait pas le shell ? mais c'est pas un processus... si tu pouvais me donner la première lettre ? XD

  6. #5
    pm42

    Re : processus linux

    Citation Envoyé par snsdtiti Voir le message
    mais c'est pas un processus... ?
    Ah bon ? C'est quoi alors ?

  7. A voir en vidéo sur Futura
  8. #6
    CM63

    Re : processus linux

    Bonjour,

    Citation Envoyé par snsdtiti Voir le message
    ...si tu pouvais me donner la première lettre ? XD
    Ca marche pas à la devinette. Est-ce que tu comprends la question? Est-ce que tu sais ce que fait chacune des 3 commandes? Est-ce que tu sais le rôle de "&" dans la deuxième commande?

    Ces trois commandes sont des cas particuliers, mais si tu tapes une commande "normale" courante, comme "passwd" ou "ls", quel est le processus qui possède l'entrée standard?

  9. Publicité
  10. #7
    snsdtiti

    Re : processus linux

    Bonjour,

    Citation Envoyé par pm42 Voir le message
    Ah bon ? C'est quoi alors ?
    le shell n'est-il pas un exécutable ? est ce que c'est la même chose ?

    que fait chacune des 3 commandes ?
    d'après ce que j'ai compris : le bash permet de lire les commandes ? mais est-ce que la bash est un processus ou un exécutable ? par ce qu'il lit puis il exécute non ?
    pour gedit & : ça permet d'ouvrir une nouvelle fenêtre en arrière plan (avec le &)
    xclock : permet d'afficher l'horloge

    si tu tapes une commande "normale" courante, comme "passwd" ou "ls", quel est le processus qui possède l'entrée standard?
    Si je suis pm42, le shell étant un processus normalement c'est lui qui possède l'entrée standard des commandes "normal"
    Mais le fait que tu dises que c'est des commandes "normale" c'est à dire que pour les 3 commandes du dessus c'est un autre processus ?

    J'ai du mal à voir la différence entre les exécutables et les processus...

    Merci beaucoup ^^

  11. #8
    albanxiii

    Re : processus linux

    Bonjour,

    Citation Envoyé par snsdtiti Voir le message
    mais est-ce que la bash est un processus ou un exécutable ? par ce qu'il lit puis il exécute non ?
    Quelles définitions avez-vous pour "processus" et "exécutable" ? C'est le nœud du problème...
    Not only is it not right, it's not even wrong!

  12. #9
    CM63

    Re : processus linux

    Citation Envoyé par albanxiii Voir le message
    Bonjour,


    Quelles définitions avez-vous pour "processus" et "exécutable" ? C'est le nœud du problème...
    Un processus est ce qui "tourne" sur le processeur, et cela a été créé grâce soit un exécutable (fichier exécutable résultant d'une compilation) soit grâce à un shell script, soit grâce à une commande du système.

    Sinon, je parle de commande "normale" parce que dans l'exercice qui est proposé, le premier, les 3 exemples ont toutes quelque chose de particulier:
    bash : c'est justement le process qui gère les commandes shell et va lancer un (autre) process si ce qu'on a tapé est correct,
    gedit & : sans le "&" ce serait un process comme un autre, mais grâce à ce & la personne qui a tapé la commande reprend la main, et le process gedit tourne en "background",
    xclock : ok celui là il est "normal", il ne redonne pas la main à l'utilisateur, pour la planter et reprendre la main il faut faire ctrl c

    J'avoue que je ne comprends pas la question: qui possède l'entrée standard? Laquelle? Chaque process possède son entrée standard. Si la question c'est "qui possède l'entrée standard initiale", celle de la fenêtre où on tape les commandes, il faudrait préciser.

  13. #10
    pm42

    Re : processus linux

    Citation Envoyé par snsdtiti Voir le message
    le shell n'est-il pas un exécutable ? est ce que c'est la même chose ?
    Executable = programme sur le disque.

    Processus = une instance de ce programme chargé en mémoire et en train de tourner.


    Citation Envoyé par snsdtiti Voir le message
    le bash permet de lire les commandes ?
    Comme plein d'autres programmes : sh, csh, zsh, fish...

    Citation Envoyé par snsdtiti Voir le message
    mais est-ce que la bash est un processus ou un exécutable ?
    Voir plus haut.

    Citation Envoyé par snsdtiti Voir le message
    Si je suis pm42, le shell étant un processus normalement c'est lui qui possède l'entrée standard des commandes "normal"
    Non, il possède l'entrée standard quand on tape des commandes.

    Par exemple, je tapes "cat" puis entrée. A ce moment là, bash possède l'entrée standard.

    Que se passe t-il ensuite ? Quel est le processus qui reçoit les touches que tu tapes alors ?

  14. #11
    snsdtiti

    Re : processus linux

    merci pour les définitions ! alors d'après ce que j'ai compris le shell et le bash sont des processus

    Par exemple, je tapes "cat" puis entrée. A ce moment là, bash possède l'entrée standard.

    Que se passe t-il ensuite ? Quel est le processus qui reçoit les touches que tu tapes alors ?
    après avoir fait cat, le bash? est en attente d'une entrée donc quand on entre une touche c'est le bash a ce moment là qui reçoit et la renvoie dans sa sortie ?

  15. #12
    Jack

    Re : processus linux

    Citation Envoyé par snsdtiti Voir le message
    merci pour les définitions ! alors d'après ce que j'ai compris le shell et le bash sont des processus
    bash est un shell. Il en existe d'autres

  16. Publicité
  17. #13
    polo974

    Re : processus linux

    Citation Envoyé par snsdtiti Voir le message
    Bonjour,

    Je suis face à une question que je ne comprend pas, j'espère que vous pourrez éclairer m lanterne ^^'

    Soit la séquence de commandes suivante lancée depuis un terminal (shell) :
    bash
    gedit &
    xclock

    Quel processus possède l'entrée standard après le lancement de chaque commande exécutée ? Donnez les association dans les 3 cas successifs
    ...
    (celui qui a posé les questions n'a pas vraiment un vocabulaire correct...)

    Chaque processus sous unix possède ses propres stdin, stdout et sdterr (enfin, tant qu'il ne les ferme pas):
    Code:
    $ ll /dev/stdin;ll /dev/stdout;ll /dev/stderr
    lrwxrwxrwx 1 root root 15 oct.  31 08:32 /dev/stdin -> /proc/self/fd/0
    lrwxrwxrwx 1 root root 15 oct.  31 08:32 /dev/stdout -> /proc/self/fd/1
    lrwxrwxrwx 1 root root 15 oct.  31 08:32 /dev/stderr -> /proc/self/fd/2
    $ ll /proc/self
    lrwxrwxrwx 1 root root 0 oct.  31 08:32 /proc/self -> 4541/
    La vraie question est plutôt quel processus est à l'écoute sur le terminal ?

    au début, on est déjà dans un shell.
    après bash
    on est dans un nouveau shell (qui est bash, un shell un peu évolué) c'est ce bash qui reçoit sur son stdin ce qui vient de la console.
    l'ancien shell est en attente de la fin de ce bash (en version courte).
    après gedit &
    on a lancé en tâche de fond le programme gedit
    c'est le bash qui reçoit toujours sur son stdin ce qui vient de la console. ça tombe bien vu qu'on veut lance xclock...
    après xclock
    xclock n'est pas lancé en tâche de fond, donc c'est lui qui reçoit sur son stdin ce qui vient de la console. ce qui fait qu'un ctrl-c dans la console va fermer xclock.
    attention, certains programmes se lancent d'eux même en tâche de fond (même gedit, s'il avait été lancé une seconde fois...).
    Daudet, tu vas nous manquer...

  18. #14
    snsdtiti

    Re : processus linux

    Bonjour à tous,

    Je vous remercie énormément d'avoir pris le temps de répondre ^^ grâce à vous la notion de processus et d'exécutable est beaucoup plus clair.
    J'ai demandé à mon prof de TD mais lui non plus n'a pas trop compris la deuxième partie de la question mais bon d'après lui ça ne tombera pas comme ça au partiel ^^'

    En tout cas, merci en encore !

  19. #15
    pm42

    Re : processus linux

    Pour la 2nde question, c'est simple :

    Citation Envoyé par snsdtiti Voir le message
    ping=pong
    echo $ping
    bash
    echo $ping

    affiche pong puis après bash et echo $ping, affiche rien
    La 1ère ligne assigne la valeur "pong" à la variable "ping"
    La 2nde ligne affiche le contenu de la variable "ping". Donc on affiche bien "pong"

    Ensuite, on lance un nouveau bash (on peut en empiler autant qu'on veut). Les variables du précédent ne sont pas transmises (sauf si on a fait un "export" ce qui n'est pas le cas ici.

    Donc le nouveau bash ne connait pas de variable "ping". Donc pour lui elle est vide.
    Donc la 3ème ligne n'affiche rien.

  20. #16
    snsdtiti

    Re : processus linux

    Merci beaucoup pour ton explication, j'avais testé la deuxième question et c'est expérimentation que j'ai répondu, comme la notion de bash n'était pas encore claire ^^'
    là je comprend mieux le cheminement !

Sur le même thème :

Discussions similaires

  1. processus g???tmp.exe
    Par intik92 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 13
    Dernier message: 08/06/2017, 10h13
  2. processus
    Par walteroudolphe dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/02/2011, 23h36
  3. qu'est ce qu'un processus
    Par lebiologiste2 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 17/09/2010, 10h59
  4. Processus stochastiques
    Par mx6 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 26/03/2010, 19h25
  5. Linux > Windows ou Windows > Linux et la pomme dans to
    Par [RV] dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/05/2003, 12h35