• [^] # Re: 2 solutions

    Posté par (site web personnel) . En réponse au message PID Père et fils: HELP. Évalué à 3.

    Désolé, j'ai inversé $$ et $!
    man bash
    $ Se transforme en PID du shell. Dans un sous-shell (), il se transforme en PID du shell,et non pas du sous-shell.
    ! Se transforme en PID de la commande (asynchrone) exécutée en arrière-plan le plus récemment.

    et un exemple:

    $ cat pere.sh
    #!/bin/bash
    echo "pere: $$"
    ./fils.sh &
    echo "fils: $!"
    $ cat fils.sh
    #!/bin/bash
    echo "fils2: $$"
    $ ./pere.sh
    pere: 5951
    fils: 5952
    fils2: 5952