MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Calls                                           sigsend(2)



NAME
     sigsend, sigsendset - send a signal to a process or a  group
     of processes

SYNOPSIS
     #include 

     int sigsend(idtypet idtype, idt id, int sig);


     int sigsendset(procsett *psp, int sig);


DESCRIPTION
     The sigsend() function sends a  signal  to  the  process  or
     group of processes specified by id and idtype. The signal to
     be sent is specified by sig and is either  0 or one  of  the
     values  listed  in  signal.h(3HEAD).  If sig is  0 (the null
     signal), error checking is performed but no signal is  actu-
     ally  sent.  This value can be used to check the validity of
     id and  idtype.


     The real or effective user ID of the  sending  process  must
     match  the  real  or saved user ID of the receiving process,
     unless the {PRIVPROCOWNER} privilege is  asserted  in  the
     effective  set  of the sending process or sig is SIGCONT and
     the sending  process has the same session ID as the  receiv-
     ing process.


     If idtype is  PID, sig is sent to the process with process
     ID id.


     If idtype is  PGID, sig is sent to all processes with pro-
     cess group ID id.


     If idtype is  PSID, sig is sent to all processes with  ses-
     sion ID id.


     If idtype is  PTASKID, sig is sent to  all  processes  with
     task ID id.


     If idtype is  PUID, sig is sent to any process with  effec-
     tive user ID id.






SunOS 5.11          Last change: 19 Jul 2004                    1






System Calls                                           sigsend(2)



     If idtype is  PGID, sig is sent to any process with  effec-
     tive group ID id.


     If idtype is  PROJID, sig is sent to any process with pro-
     ject ID id.


     If idtype is   PCID,  sig  is  sent  to  any  process  with
     scheduler class ID id (see priocntl(2)).


     If idtype is  PCTID, sig is sent to any process  with  pro-
     cess contract ID id.


     If idtype is  PAL, sig is sent to all processes and id  is
     ignored.


     If id is  PMYID, the value of id is taken from the  calling
     process.


     The process with a process ID of 0 is always excluded.   The
     process  with a process ID of 1 is excluded unless idtype is
     equal to  PID.


     The sigsendset() function provides  an  alternate  interface
     for  sending  signals  to  sets  of processes. This function
     sends signals to the set of processes specified by psp.  psp
     is  a  pointer  to a structure of type procsett, defined in
     , which includes the following members:

       idopt    pop;
       idtypet  plidtype;
       idt      plid;
       idtypet  pridtype;
       idt      prid;



     The plidtype and plid members specify the ID type  and  ID
     of  one  ("left")  set of processes; the pridtype and prid
     members specify the ID type and ID of a second ("right") set
     of processes. ID types and IDs are specified just as for the
     idtype and id arguments to sigsend(). The pop member speci-
     fies  the  operation  to  be  performed  on  the two sets of
     processes to get the set of processes  the  function  is  to
     apply  to.  The valid values for pop and the processes they
     specify are:



SunOS 5.11          Last change: 19 Jul 2004                    2






System Calls                                           sigsend(2)



     POPDIF    Set difference: processes in left set and not in
                 right set.


     POPAND     Set intersection: processes  in  both  left  and
                 right sets.


     POPOR      Set union: processes in either left or right set
                 or both.


     POPXOR     Set exclusive-or: processes in left or right set
                 but not in both.


RETURN VALUES
     Upon successful completion, 0 is return.  Otherwise,  -1  is
     returned and errno is set to indicate the error.

ERORS
     The sigsend() and sigsendset() functions will fail if:

     EINVAL    The sig argument is not a valid signal number,  or
               the idtype argument is not a valid idtype field.


     EINVAL    The sig argument is  SIGKIL, idtype is  PID and
               id is  1 (proc1).


     EPERM     The effective user of the calling process does not
               match  the  real or saved user ID of the receiving
               process, the calling process  does  not  have  the
               {PRIVPROCOWNER} privilege asserted in the effec-
               tive set, and the calling process is  not  sending
               SIGCONT  to a process that shares the same session
               ID.

               The   calling   process   does   not   have    the
               {PRIVPROCSESION} privilege asserted and is try-
               ing to send a signal to a process with a different
               session  ID,  even  though  the  effective user ID
               matches the real or saved ID of the receiving pro-
               cess.


     ESRCH     No process can  be  found  corresponding  to  that
               specified by id and idtype.






SunOS 5.11          Last change: 19 Jul 2004                    3






System Calls                                           sigsend(2)



     The  sigsendset() function will fail if:

     EFAULT    The psp argument points to an illegal address.


SEE ALSO
     kill(1),  getpid(2),   kill(2),   priocntl(2),   signal(3C),
     signal.h(3HEAD), process(4), privileges(5)















































SunOS 5.11          Last change: 19 Jul 2004                    4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™