Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
KILL(2)                       System Calls Manual                      KILL(2)

NAME
       kill - send signal to a process

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

       int kill(pid_t pid, int sig)

DESCRIPTION
       Kill sends the signal sig to a process, specified by the process number
       pid.  Sig may be one of the signals specified in  sigaction(2),  or  it
       may  be  0,  in which case error checking is performed but no signal is
       actually sent.  This can be used to check the validity of pid.

       The sending and receiving processes must have the same  effective  user
       ID, otherwise this call is restricted to the super-user.

       If  the process number is 0, the signal is sent to all processes in the
       sender's process group.

       If the process number is -1 and the user is the super-user, the  signal
       is  broadcast  universally  except  to init and the process sending the
       signal.  If the process number is -1 and the user  is  not  the  super-
       user,  the  signal  is  broadcast universally to all processes with the
       same uid as the user except the process sending the signal.   No  error
       is returned if any process could be signaled.

       If the process number is negative but not -1, the signal is sent to all
       processes whose process group ID is equal to the absolute value of  the
       process number.

       Processes may send signals to themselves.

RETURN VALUE
       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.

ERRORS
       Kill will fail and no signal will be  sent  if  any  of  the  following
       occur:

       [EINVAL]       Sig is not a valid signal number.

       [ESRCH]        No  process can be found corresponding to that specified
                      by pid.

       [ESRCH]        The process id was given as 0 but  the  sending  process
                      does not have a process group.

       [EPERM]        The  sending  process  is  not  the  super-user  and its
                      effective user id does not match the  effective  user-id
                      of  the  receiving  process.   When  signaling a process
                      group, this error was returned if  any  members  of  the
                      group could not be signaled.

SEE ALSO
       getpid(2), getpgrp(2), sigaction(2), raise(3).

4th Berkeley Distribution        May 14, 1986                          KILL(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | SEE ALSO