HPUX killpg[2]






 bsdproc(2)                                                       bsdproc(2)





 NAME
      killpg, getpgrp, setpgrp, sigvec, signal - 4.2 BSD-compatible process
      control facilities

 SYNOPSIS
      #include <signal.h>

      int killpg(int pgrp, int sig);

      int getpgrp(int pid);

      int setpgrp(int pid, int pgrp);

      int sigvec(
           int sig,
           struct sigvec *vec,
           struct sigvec *ovec
      );

      void (*signal(int sig, void (*func)(int)))(int);

 DESCRIPTION
      These calls simulate (and are provided for backward compatibility
      with) functions of the same name in the 4.2 Berkeley Software
      Distribution.

      This version of setpgrp() is equivalent to the system call
      setpgid(pid, pgrp) (see setpgid(2)).

      This version of getpgrp() is equivalent to the system call
      getpgrp2(pid) (see getpid(2)).

      killpg() is equivalent to the system call kill(-pgrp, sig) (see
      kill(2)).

      sigvec() is equivalent to the system call sigvector(sig, vec, ovec)
      (see sigvector(2)), except for the following:

           When SIGCHLD or SIGCLD is used and vec specifies a catching
           function, the routine acts as if the SV_BSDSIG flag were included
           in the sv_flags field of vec.

           The name sv_onstack can be used as a synonym for the name of the
           sv_flags field of vec and ovec.

           If vec is not a null pointer and the value of (vec->sv_flags & 1)
           is "true", the routine acts as if the SV_ONSTACK flag were set.

           If ovec is not a null pointer, the flag word returned in
           ovec->sv_flags (and therefore the value of ovec->sv_onstack) will
           be equal to 1 if the system was reserving space for processing of



 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 bsdproc(2)                                                       bsdproc(2)





           that signal because of a call to sigspace(2), and 0 if not.  The
           SV_BSDSIG bit in the value placed in ovec->sv_flags is always
           clear.

           If the reception of a caught signal occurs during certain system
           calls, the call will always be restarted, regardless of the
           return value from a catching function installed with sigvec().
           The affected calls are wait(2), semop(2), msgsnd(2), msgrcv(2),
           and read(2) or write(2) on a slow device (such as a terminal or
           pipe, but not a file).  Other interrupted system calls are not
           restarted.

      This version of signal() has the same effect as sigvec(sig,
      vec, ovec), where vec->sv_handler is equal to func, vec->sv_mask is
      equal to 0, and vec->sv_flags is equal to 0.  signal() returns the
      value that would be stored in ovec->sv_handler if the equivalent
      sigvec() call would have succeeded.  Otherwise, signal() returns -1
      and errno is set to indicate the reason as it would have been set by
      the equivalent call to sigvec().

      These functions can be linked into a program by giving the -lBSD
      option to ld(1).

 WARNINGS
      While the 4.3 BSD release defined extensions to some of the interfaces
      described here, only the 4.2 BSD interfaces are emulated by this
      package.

      bsdproc() should not be used in conjunction with the facilities
      described under sigset(2V).

 AUTHOR
      bsdproc() was developed by HP and the University of California,
      Berkeley.

 SEE ALSO
      ld(1), kill(2), getpid(2), msgsnd(2), msgrcv(2), read(2), semop(2),
      setpgid(2), setsid(2), sigvector(2), wait(2), write(2), sigset(2V),
      sigstack(2), signal(5).















 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992