• # groupe de processus

    Posté par . En réponse au message Signaux. Évalué à 2.

    En fait, quand tu fais un Ctrl-C, sigint n'est pas envoyé à un processus, mais à groupe de processus (PGID) par ton shell ; alors que toi, tu fais ton kill sur un PID (donc un seul processus). En faisant kill -INT -PID tu devrais obtenir un comportement ressemblant (note le - avant le PID).

    C'est le shell qui change le pgid et le masque de signaux avant de lancer tes commandes en background ou en foreground. C'est pour cela que tu as un comportement différent suivant comment ta commande est lancée. Libre à toi de rechanger ce masque de signaux dans l'applicatif lancé (cf. la commande trap pour les shell scripts ; en particulier trap - SIGINT remet l'action par défaut sur réception de sigint, soit mourir :) ).
    Bon, y aurait vraiment beaucoup à dire sur les signaux,pid,pgid, je te conseille de te documenter sur les signaux unix en général histoire de comprendre les aspects théoriques (désolé, j'ai pas de liens à te filer, mais ça doit pouvoir se trouver sur le net, je pense).