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

FreeBSD Manual Pages

  
 
  

home | help
kill(2)				 System	Calls			       kill(2)

NAME
       kill - send a signal to a process or a group of processes

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

       int kill(pid_t pid, int sig);

DESCRIPTION
       The  kill()  function  sends  a	signal to a process or a group of pro-
       cesses. The process or group of processes to which the signal is	to  be
       sent is specified by pid. The signal that is to be sent is specified by
       sig and is  either  one	from  the  list	 given	in  signal  (see  sig-
       nal(3HEAD)),  or	 0.  If	 sig is	0 (the null signal), error checking is
       performed but no	signal is actually sent. This can be used to check the
       validity	of pid.

       The  real  or  effective	 user ID of the	sending	process	must match the
       real or saved (from one of functions in the exec	family,	 see  exec(2))
       user  ID	 of  the receiving process unless the effective	user ID	of the
       sending process is superuser, (see intro(2)), or	 sig  is  SIGCONT  and
       the sending process has the same	session	ID as the receiving process.

       If pid is greater than 0, sig will be sent to the process whose process
       ID is equal to  pid.

       If pid is negative but not (pid_t)-1, sig will be sent to all processes
       whose  process  group  ID is equal to the absolute value	of pid and for
       which the process has permission	to send	a signal.

       If pid is 0, sig	will be	sent to	all processes excluding	 special  pro-
       cesses  (see  intro(2))	whose process group ID is equal	to the process
       group ID	of the sender.

       If pid is (pid_t)-1 and the effective user ID of	the sender is not  su-
       per-user, sig will be sent to all processes excluding special processes
       whose real user ID is equal to the effective user ID of the sender.

       If pid is (pid_t)-1 and the effective user ID of	the sender  is	super-
       user, sig will be sent to all processes excluding special processes.

RETURN VALUES
       Upon  successful	 completion, 0 is returned. Otherwise, -1 is returned,
       no signal is sent, and errno is set to indicate the error.

ERRORS
       The kill() function will	fail if:

       EINVAL
	     The sig argument is not a valid signal number.

       EPERM The sig argument is SIGKILL and  the  pid	argument  is  (pid_t)1
	     (that  is,	 the  calling process does not have permission to send
	     the signal	to any of the processes	specified by pid); or the  ef-
	     fective  user  of	the calling process does not match the real or
	     saved user	and is not super-user, and the calling process is  not
	     sending SIGCONT to	a process that shares the same session ID.

       ESRCH No	 process  or  process group can	be found corresponding to that
	     specified by pid.

USAGE
       The sigsend(2) function provides	a more versatile way to	 send  signals
       to processes.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Async-Signal-Safe		   |
       +-----------------------------+-----------------------------+

SEE ALSO
       kill(1),	 intro(2),  exec(2),  getpid(2), getsid(2), setpgrp(2),	sigac-
       tion(2),	sigsend(2), signal(3C),	attributes(5), signal(3HEAD)

SunOS 5.9			  28 Dec 1996			       kill(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=kill&sektion=2&manpath=SunOS+5.9>

home | help