Provided by: rtlinux_3.1pre3-2_i386 bug

NAME

       kill — (OBSOLETE, REMOVED) send signal to a process

SYNOPSIS

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

       int kill pid_t pid, int sig);

DESCRIPTION

       OBSOLETE and REMOVED. USE PTHREAD_KILL.  The kill system can be used to
       send any signal to any process group or process.  In RTLinux there is a
       single  process  and  a  single  process group for each processor.  The
       process group and the process identifier for that processor is the  cpu
       number  +  1  (so  that we can handle the stupid 0 convention described
       below).

       If pid is positive, then signal sig is sent to pid.

       If pid equals 0, then sig is sent to every process in the process group
       of the current process. This is equivalent to sending the signal to the
       current process in RTLinux.

       If pid equals -1, then sig is sent to  every  process  except  for  the
       first one, from higher numbers in the process table to lower.

       If  pid  is  less  than  -1,  then  sig is sent to every process in the
       process group -pid.

       If sig is 0, then no signal  is  sent,  but  error  checking  is  still
       performed.

RETURN VALUE

       On  success,  zero  is returned. On error, -1 is returned, and errno is
       set appropriately.

ERRORS

       EINVAL    An invalid signal was specified.

       ESRCH     The pid or  process  group  does  not  exit.   Note  that  an
                 existing process might be a zombie -- a process which already
                 committed termination, but has not yet been wait()ed for.

       EPERM     The process does not have permission to send  the  signal  to
                 any  of  the  receiving  processes.   For  a  process to have
                 permission to send a signal to process pid,  it  must  either
                 have root privileges, or the real or effective user ID of the
                 sending process must equal the real or saved  set-user-ID  of
                 the receiving process.

BUGS

       It is impossible to send a signal to task number one, the init process,
       for which it has not installed a  signal  handler.   This  is  done  to
       assure the system is not brought down accidentally.

NOTES

       In  RTLinux,  process number one is not special--it is just the process
       on processor 0.  In a single processor system this is the only  process
       identifier.

CONFORMING TO

       SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3

SEE ALSO

       UNIX  spec  exit(2)  (link  to  URL ../susv2/xsh/exit.html) , UNIX spec
       exit(3) (link to URL  ../susv2/xsh/exit.html)  ,  UNIX  spec  signal(2)
       (link  to  URL ../susv2/xsh/signal.html) , UNIX spec signal(7) (link to
       URL ../susv2/xsh/signal.html)

       ©2001 FSMLabs Inc.

       All rights reserved.

                                                                       kill(2)