Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
KILL(2)			   Linux Programmer's 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
       The  kill  system  call	can  be	used to	send any signal	to any process
       group or	process.

       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.

       If  pid equals -1, then sig is sent to every process except for process
       1 (init), but see below.

       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 per-
       formed.

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 exist.	 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	privi-
	      leges, or	the real or effective user ID of the  sending  process
	      must  equal  the	real  or  saved	 set-user-ID  of the receiving
	      process.	In the case of SIGCONT it suffices  when  the  sending
	      and receiving processes belong to	the same session.

NOTES
       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.

       POSIX  1003.1-2001 requires that	kill(-1,sig) send sig to all processes
       that the	current	process	may send signals to, except possibly for  some
       implementation-defined  system  processes.   Linux  allows a process to
       signal itself, but on Linux the call kill(-1,sig) does not  signal  the
       current process.

LINUX HISTORY
       Across  different  kernel  versions, Linux has enforced different rules
       for the permissions required for	an unprivileged	process	to send	a sig-
       nal  to	another	 process.   In kernels 1.0 to 1.2.2, a signal could be
       sent if the effective user  ID  of  the	sender	matched	 that  of  the
       receiver,  or  the  real	 user  ID  of  the  sender matched that	of the
       receiver.  From kernel 1.2.3 until 1.3.77, a signal could  be  sent  if
       the  effective  user ID of the sender matched either the	real or	effec-
       tive user ID of the receiver.  The  current  rules,  which  conform  to
       POSIX 1003.1-2001, were adopted in kernel 1.3.78.

CONFORMING TO
       SVr4, SVID, POSIX.1, X/OPEN, BSD	4.3, POSIX 1003.1-2001

SEE ALSO
       _exit(2), exit(3), signal(2), signal(7)

Linux 2.5.0			  2001-12-18			       KILL(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | NOTES | LINUX HISTORY | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=kill&sektion=2&manpath=Red+Hat+Linux%2fi386+9>

home | help