👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for kill (linux section 1posix)

KILL(P) 			    POSIX Programmer's Manual				  KILL(P)

NAME
       kill - terminate or signal processes

SYNOPSIS
       kill -s signal_name pid ...

       kill -l [exit_status]

       kill [-signal_name] pid ...

       kill [-signal_number] pid ...

DESCRIPTION
       The kill utility shall send a signal to the process or processes specified by each pid op-
       erand.

       For each pid operand, the kill utility shall perform  actions  equivalent  to  the  kill()
       function  defined  in the System Interfaces volume of IEEE Std 1003.1-2001 called with the
       following arguments:

	* The value of the pid operand shall be used as the pid argument.

	* The sig argument is the value specified by the -s option, -  signal_number  option,  or
	  the - signal_name option, or by SIGTERM, if none of these options is specified.

OPTIONS
       The  kill  utility  shall  conform to the Base Definitions volume of IEEE Std 1003.1-2001,
       Section 12.2, Utility Syntax Guidelines,  except that in the last two SYNOPSIS forms,  the
       - signal_number and - signal_name options are usually more than a single character.

       The following options shall be supported:

       -l     (The  letter ell.) Write all values of signal_name supported by the implementation,
	      if no operand is given. If an exit_status operand is given and it is a value of the
	      '?'   shell special parameter (see Special Parameters and wait() ) corresponding to
	      a process that was terminated by a signal, the  signal_name  corresponding  to  the
	      signal  that terminated the process shall be written.  If an exit_status operand is
	      given and it is the unsigned decimal integer value of a  signal  number,	the  sig-
	      nal_name	(the  symbolic	constant  name without the SIG prefix defined in the Base
	      Definitions volume of IEEE Std 1003.1-2001) corresponding to that signal	shall  be
	      written. Otherwise, the results are unspecified.

       -s  signal_name

	      Specify  the  signal  to send, using one of the symbolic names defined in the <sig-
	      nal.h> header. Values of signal_name shall  be  recognized  in  a  case-independent
	      fashion,	without  the SIG prefix. In addition, the symbolic name 0 shall be recog-
	      nized, representing the signal value zero. The corresponding signal shall  be  sent
	      instead of SIGTERM.

       -signal_name

	      Equivalent to -s signal_name.

       -signal_number

	      Specify  a  non-negative decimal integer, signal_number, representing the signal to
	      be used instead of SIGTERM, as the sig argument in the effective	call  to  kill().
	      The  correspondence  between  integer values and the sig value used is shown in the
	      following table.

       The effects of specifying any signal_number other than those listed in the table are unde-
       fined.

				       signal_number   sig Value
				       0	       0
				       1	       SIGHUP
				       2	       SIGINT
				       3	       SIGQUIT
				       6	       SIGABRT
				       9	       SIGKILL
				       14	       SIGALRM
				       15	       SIGTERM

       If  the first argument is a negative integer, it shall be interpreted as a - signal_number
       option, not as a negative pid operand specifying a process group.

OPERANDS
       The following operands shall be supported:

       pid    One of the following:

	       1. A decimal integer specifying a process or process group to  be  signaled.   The
		  process or processes selected by positive, negative, and zero values of the pid
		  operand shall be as described for the kill() function. If process number  0  is
		  specified,  all  processes  in the current process group shall be signaled. For
		  the effects of negative pid numbers, see the kill()  function  defined  in  the
		  System  Interfaces  volume of IEEE Std 1003.1-2001. If the first pid operand is
		  negative, it should be preceded by "--" to keep it from being interpreted as an
		  option.

	       2. A  job control job ID (see the Base Definitions volume of IEEE Std 1003.1-2001,
		  Section 3.203, Job Control Job ID) that identifies a background  process  group
		  to  be signaled. The job control job ID notation is applicable only for invoca-
		  tions of kill in the current shell execution environment; see  Shell	Execution
		  Environment .

       exit_status
	      A decimal integer specifying a signal number or the exit status of a process termi-
	      nated by a signal.

STDIN
       Not used.

INPUT FILES
       None.

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of kill:

       LANG   Provide a default value for the internationalization variables that  are	unset  or
	      null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Inter-
	      nationalization Variables for the precedence of internationalization variables used
	      to determine the values of locale categories.)

       LC_ALL If  set  to a non-empty string value, override the values of all the other interna-
	      tionalization variables.

       LC_CTYPE
	      Determine the locale for the interpretation of sequences of bytes of text  data  as
	      characters  (for	example, single-byte as opposed to multi-byte characters in argu-
	      ments).

       LC_MESSAGES
	      Determine the locale that should be used to affect the format and contents of diag-
	      nostic messages written to standard error.

       NLSPATH
	      Determine the location of message catalogs for the processing of LC_MESSAGES .

ASYNCHRONOUS EVENTS
       Default.

STDOUT
       When the -l option is not specified, the standard output shall not be used.

       When  the -l option is specified, the symbolic name of each signal shall be written in the
       following format:

	      "%s%c", <signal_name>, <separator>

       where the <signal_name> is in uppercase, without the SIG prefix, and the <separator> shall
       be  either  a  <newline> or a <space>. For the last signal written, <separator> shall be a
       <newline>.

       When both the -l option and exit_status operand are specified, the symbolic  name  of  the
       corresponding signal shall be written in the following format:

	      "%s\n", <signal_name>

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       None.

EXTENDED DESCRIPTION
       None.

EXIT STATUS
       The following exit values shall be returned:

	0     At  least  one  matching	process was found for each pid operand, and the specified
	      signal was successfully processed for at least one matching process.

       >0     An error occurred.

CONSEQUENCES OF ERRORS
       Default.

       The following sections are informative.

APPLICATION USAGE
       Process numbers can be found by using ps.

       The job control job ID notation is not required to work as expected when kill is operating
       in its own utility execution environment. In either of the following examples:

	      nohup kill %1 &
	      system("kill %1");

       the  kill operates in a different environment and does not share the shell's understanding
       of job numbers.

EXAMPLES
       Any of the commands:

	      kill -9 100 -165
	      kill -s kill 100 -165
	      kill -s KILL 100 -165

       sends the SIGKILL signal to the process whose process ID is 100 and to all processes whose
       process	group  ID is 165, assuming the sending process has permission to send that signal
       to the specified processes, and that they exist.

       The   System   Interfaces   volume   of	 IEEE Std 1003.1-2001	and   this   volume    of
       IEEE Std 1003.1-2001 do not require specific signal numbers for any signal_names. Even the
       - signal_number option provides symbolic  (although  numeric)  names  for  signals.  If	a
       process	is  terminated	by a signal, its exit status indicates the signal that killed it,
       but the exact values are not specified. The kill -l option, however, can be  used  to  map
       decimal	signal	numbers  and  exit status values into the name of a signal. The following
       example reports the status of a terminated job:

	      job
	      stat=$?
	      if [ $stat -eq 0 ]
	      then
		  echo job completed successfully.
	      elif [ $stat -gt 128 ]
	      then
		  echo job terminated by signal SIG$(kill -l $stat).
	      else
		  echo job terminated with error code $stat.
	      fi

       To send the default signal to a process group (say 123), an application should use a  com-
       mand similar to one of the following:

	      kill -TERM -123
	      kill -- -123

RATIONALE
       The -l option originated from the C shell, and is also implemented in the KornShell. The C
       shell output can consist of multiple output lines because the signal names do  not  always
       fit  on	a  single  line  on some terminal screens. The KornShell output also included the
       implementation-defined signal numbers and was considered by the standard developers to  be
       too  difficult  for scripts to parse conveniently. The specified output format is intended
       not only to accommodate the historical C shell output, but also to permit an entirely ver-
       tical or entirely horizontal listing on systems for which this is appropriate.

       An  early  proposal  invented  the name SIGNULL as a signal_name for signal 0 (used by the
       System Interfaces volume of IEEE Std 1003.1-2001 to test for the existence  of  a  process
       without	sending  it a signal). Since the signal_name 0 can be used in this case unambigu-
       ously, SIGNULL has been removed.

       An early proposal also required symbolic signal_names to be recognized with or without the
       SIG  prefix. Historical versions of kill have not written the SIG prefix for the -l option
       and have not recognized the SIG prefix on signal_names. Since neither applications  porta-
       bility  nor  ease-of-use  would	be  improved by requiring this extension, it is no longer
       required.

       To avoid an ambiguity of an initial negative number argument specifying	either	a  signal
       number  or a process group, IEEE Std 1003.1-2001 mandates that it is always considered the
       former by implementations that support the XSI option. It also  requires  that  conforming
       applications  always  use  the  "--" options terminator argument when specifying a process
       group, unless an option is also specified.

       The -s option was added in response to international interest in providing  some  form  of
       kill that meets the Utility Syntax Guidelines.

       The job control job ID notation is not required to work as expected when kill is operating
       in its own utility execution environment. In either of the following examples:

	      nohup kill %1 &
	      system("kill %1");

       the kill operates in a different environment and does not understand  how  the  shell  has
       managed its job numbers.

FUTURE DIRECTIONS
       None.

SEE ALSO
       Shell   Command	 Language   ,	ps   ,	 wait()   ,   the  System  Interfaces  volume  of
       IEEE Std 1003.1-2001, kill(), the Base Definitions volume of  IEEE Std 1003.1-2001,  <sig-
       nal.h>

COPYRIGHT
       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable	Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003					  KILL(P)


All times are GMT -4. The time now is 03:29 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password