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.h(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(2) family) user	ID  of
       the  receiving  process,	 unless	 the  privilege	 {PRIV_PROC_OWNER}  is
       asserted	in the effective set of	the sending process (see intro(2)), or
       sig  is	SIGCONT	and the	sending	process	has the	same session ID	as the
       receiving process. A process needs the basic privilege  {PRIV_PROC_SES-
       SION}  to  send	signals	 to a process with a different session ID. See
       privileges(5).

       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 {PRIV_PROC_OWNER} privilege is not asserted
       in the effective	set of the sending process, 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 {PRIV_PROC_OWNER} privilege is asserted  in
       the  effective set of the sending process, sig will be sent to all pro-
       cesses 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).

		       The effective user of  the  calling  process  does  not
		       match  the  real	 or saved user and the calling process
		       does not	have the {PRIV_PROC_OWNER} privilege  asserted
		       in the effective	set, and the calling process either is
		       not sending SIGCONT to a	process	that shares  the  same
		       session	ID  or	does  not have the {PRIV_PROC_SESSION}
		       privilege asserted and is trying	to send	a signal to  a
		       process with a different	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	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+
       |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),	signal.h(3HEAD), attributes(5),	privi-
       leges(5), standards(5)

SunOS 5.10			  22 Mar 2004			       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.10>

home | help