Re: Signaux sous Linux

Top Page

Reply to this message
Author: Francois Cau
Date:  
To: guilde
Subject: Re: Signaux sous Linux
Frederic MANTEGAZZA wrote:

> J'ai un process qui a une routine d'interception repondant a un certain
> signal.
>
> Lorsque ce signal arrive (en provenance d'un autre process), existe-t-il
> un moyen pour retrouver le Pid du process l'ayant emis ?


SalutApparemment, il faut utiliser sigaction() pour specifier le handler
appele lors de la reception de ce signal. On passe a sigaction une
structure sigaction qui contient (entre autres) un champ sa_flags. Il faut
donner la valeur SA_SIGINFO a ce champ. A ce moment la, le handler recevra
2 arguments supplementaires, dont le premier est un pointeur sur une
structure siginfo , qui contient un champ si_pid (de type pid_t) qui est le
"sending process ID".
Ceci est specifique SVR4, et le sigaction() de linux est cense se conformer
a SVR4... Par contre j'ai pas reussi a trouver (par grep) le define de
SA_SIGINFO dans /usr/include/signal.h , inquietant...

Je tire ca de "Advanced programming in Unix environment" de W. R. Stevens
(Addison Wesley).

Je serais interesse de savoir si ca marche...

Good luck
--
Francois CAU
Francois.Cau@??? ////          THOMSON multimedia
francois.cau@???         (@ @)            Grenoble, FRANCE
------------------------oOO--(_)--OOo------------------------