• # Peut être comme ça

    Posté par . En réponse au message SIGINT dans une boucle infinie. Évalué à 4.

    Je viens de trouver une solution, qui n'est peut-être pas très élégante mais qui marche (chez moi...). Je me suis intéressé au problème car j'avais déjà voulu faire ça, et la solution "à larrache" que j'avais trouvé, c'était de bourriner sur Ctrl+c...
    Donc voici ce que j'ai trouvé :


    while true
    do
    nslookup www.toto.com &
    wait $!
    done


    En bref, ça lance le processus en arrière plan, mais ça l'attend tout de suite. L'astuce c'est que wait est une commande intégrée au shell, donc quand elle reçoit un SIGINT, c'est bien le shell qui s'interrompt.
    Seul petit "bug", c'est que la commande est généralement exécutée une dernière fois après l'avoir killée (comme on kill le wait, on revient au shell avant que notre commande ait pu (éventuellement) se terminer).