Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigsend(2) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getpid(2)

getpgrp(2)

kill(2)

priocntl(2)

setpid(2)

signal(2)

signal(5)

kill(1)

sigsend(2)



sigsend(2)                       UNIX System V                       sigsend(2)


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

SYNOPSIS
      #include <sys/types.h>
      #include <sys/signal.h>
      #include <sys/procset.h>

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

      int sigsendset(procsett *psp, int sig);

DESCRIPTION
      sigsend 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
      zero or one of the values listed in signal(5).  If sig is zero (the null
      signal), error checking is performed but no signal is actually 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 effective user ID of the receiving process, unless the effective user
      ID of the sending process is super-user, or sig is SIGCONT and the
      sending process has the same session ID as the receiving process.

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

      If idtype is PPGID, sig is sent to any process with process group ID id.

      If idtype is PSID, sig is sent to any process with session ID id.

      If idtype is PUID, sig is sent to any process with effective user ID id.

      If idtype is PGID, sig is sent to any process with effective group ID
      id.

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

      If idtype is PALL, 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 PPID.

      sigsendset 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
      sys/procset.h>, which includes the following members:





10/89                                                                    Page 1







sigsend(2)                       UNIX System V                       sigsend(2)


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

      plidtype and plid specify the ID type and ID of one (``left'') set of
      processes; pridtype and prid 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.  pop specifies the operation to
      be performed on the two sets of processes to get the set of processes the
      system call is to apply to.  The valid values for pop and the processes
      they specify are:

      POPDIFF      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

      sigsend and sigsendset fail if one or more of the following are true:

      EINVAL         sig is not a valid signal number.

      EINVAL         idtype is not a valid idtype field.

      EINVAL         sig is SIGKILL, idtype is PPID and id is 1 (proc1).

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

      EPERM          The user ID of the sending process is not super-user, and
                     its real or effective user ID does not match the real or
                     effective user ID of the receiving process, and the
                     calling process is not sending SIGCONT to a process that
                     shares the same session.

      In addition, sigsendset fails if:

      EFAULT         psp points outside the process's allocated address space.

SEE ALSO
      getpid(2), getpgrp(2), kill(2), priocntl(2), setpid(2), signal(2),
      signal(5).

      kill(1) in the User's Reference Manual.





Page 2                                                                    10/89







sigsend(2)                       UNIX System V                       sigsend(2)


DIAGNOSTICS
      On success, sigsend returns zero.  On failure, it returns -1 and sets
      errno to indicate the error.



















































10/89                                                                    Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026