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).
# Peut être comme ça
Posté par benoar . En réponse au message SIGINT dans une boucle infinie. Évalué à 4.
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).