• [^] # Re: Mais pourquoi est-il aussi méchant ?

    Posté par . En réponse au message zenity : processus père/fils, fifo,.... Évalué à 1.

    [...] pourquoi ne pas mettre zenity dans un sous processus [...] ?

    Ouais ! Bravo ! Nous avons un gagnat ! :-)

    fifo=$(mktemp -u)

    Ça, moi, j'aime bien ! Vraiment ! ;-)

    Bon ça reste crade, surtout le tail -f qui est le seul moyen que j'ai trouvé de "pooler" la fifo, si quelqu’un à mieux ?

    Oui, deux points :

    1. directement utiliser la fifo comme entrée à zenity
    2. tuer le process quand il n'y en plus besoin ? ;-)
    #!/bin/bash
    fifo=$(mktemp -u)
    mkfifo $fifo
    zenity blabla 2>/dev/null <"${fifo}" &
    progress_pid="${!}"
    exec 6>&1 # Save stdout
    exec >"${fifo}" # Redirect stdout to the fifo
    i="toto"
    for(( i=0; i<=100; i+=10 )); do
    sleep 1
     printf "%s\n" "${i}" # stdout goes to the fifo ! :-)
    done
    exec >&6 # Restore stdout
    kill "${progress_pid}"
    printf "Et maintenant i='%s'\n" "${i}"
    rm -f "${fifo}"
    

    Hop,
    Moi.