diff options
Diffstat (limited to 'man1p/kill.1p')
-rw-r--r-- | man1p/kill.1p | 393 |
1 files changed, 393 insertions, 0 deletions
diff --git a/man1p/kill.1p b/man1p/kill.1p new file mode 100644 index 000000000..c494b742b --- /dev/null +++ b/man1p/kill.1p @@ -0,0 +1,393 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "KILL" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" kill +.SH NAME +kill \- terminate or signal processes +.SH SYNOPSIS +.LP +\fBkill -s\fP \fIsignal_name pid\fP \fB... +.br +.sp +kill -l\fP \fB[\fP\fIexit_status\fP\fB]\fP\fB +.br +.sp +\fP +.LP +\fBkill\fP \fB[\fP\fB-\fP\fIsignal_name\fP\fB]\fP \fIpid\fP \fB... +.br +.sp +kill\fP \fB[\fP\fB-\fP\fIsignal_number\fP\fB]\fP \fIpid\fP \fB... +\fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIkill\fP utility shall send a signal to the process or processes +specified by each \fIpid\fP operand. +.LP +For each \fIpid\fP operand, the \fIkill\fP utility shall perform actions +equivalent to the \fIkill\fP() function defined in the System Interfaces +volume of IEEE\ Std\ 1003.1-2001 +called with the following arguments: +.IP " *" 3 +The value of the \fIpid\fP operand shall be used as the \fIpid\fP +argument. +.LP +.IP " *" 3 +The \fIsig\fP argument is the value specified by the \fB-s\fP option, +\fB-\fP \fIsignal_number\fP option, or the \fB-\fP +\fIsignal_name\fP option, or by SIGTERM, if none of these options +is specified. +.LP +.SH OPTIONS +.LP +The \fIkill\fP 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 \fB-\fP \fIsignal_number\fP and +\fB-\fP \fIsignal_name\fP options are usually more than a +single character. +.LP +The following options shall be supported: +.TP 7 +\fB-l\fP +(The letter ell.) Write all values of \fIsignal_name\fP supported +by the implementation, if no operand is given. If an +\fIexit_status\fP operand is given and it is a value of the \fB'?'\fP +shell special parameter (see \fISpecial Parameters\fP and \fIwait\fP() +) corresponding to a process +that was terminated by a signal, the \fIsignal_name\fP corresponding +to the signal that terminated the process shall be written. +If an \fIexit_status\fP operand is given and it is the unsigned decimal +integer value of a signal number, the \fIsignal_name\fP +(the symbolic constant name without the \fBSIG\fP 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. +.TP 7 +\fB-s\ \fP \fIsignal_name\fP +.sp +Specify the signal to send, using one of the symbolic names defined +in the \fI<signal.h>\fP header. Values of \fIsignal_name\fP shall +be recognized in a +case-independent fashion, without the \fBSIG\fP prefix. In addition, +the symbolic name 0 shall be recognized, representing the +signal value zero. The corresponding signal shall be sent instead +of SIGTERM. +.TP 7 +\fB-\fP\fIsignal_name\fP +.sp +Equivalent to \fB-s\fP \fIsignal_name\fP. +.TP 7 +\fB-\fP\fIsignal_number\fP +.sp +Specify a non-negative decimal integer, \fIsignal_number\fP, representing +the signal to be used instead of SIGTERM, as the +\fIsig\fP argument in the effective call to \fIkill\fP(). The correspondence +between integer +values and the \fIsig\fP value used is shown in the following table. +.LP +The effects of specifying any \fIsignal_number\fP other than those +listed in the table are undefined. +.sp +.sp +.TS C +center; l l. +\fIsignal_number\fP \fB\fIsig\fP Value\fP +0 0 +1 SIGHUP +2 SIGINT +3 SIGQUIT +6 SIGABRT +9 SIGKILL +14 SIGALRM +15 SIGTERM +.TE +.LP +If the first argument is a negative integer, it shall be interpreted +as a \fB-\fP \fIsignal_number\fP option, not as a +negative \fIpid\fP operand specifying a process group. +.SH OPERANDS +.LP +The following operands shall be supported: +.TP 7 +\fIpid\fP +One of the following: +.RS +.IP " 1." 4 +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 \fIpid\fP operand shall be as described for +the \fIkill\fP() +function. If process number 0 is specified, all processes in the current +process group shall be signaled. For the effects of +negative \fIpid\fP numbers, see the \fIkill\fP() function defined +in the System Interfaces +volume of IEEE\ Std\ 1003.1-2001. If the first \fIpid\fP operand is +negative, it should be preceded by \fB"--"\fP to +keep it from being interpreted as an option. +.LP +.IP " 2." 4 +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 invocations +of \fIkill\fP in the current shell execution +environment; see \fIShell Execution Environment\fP . +.LP +.RE +.TP 7 +\fIexit_status\fP +A decimal integer specifying a signal number or the exit status of +a process terminated by a signal. +.sp +.SH STDIN +.LP +Not used. +.SH INPUT FILES +.LP +None. +.SH ENVIRONMENT VARIABLES +.LP +The following environment variables shall affect the execution of +\fIkill\fP: +.TP 7 +\fILANG\fP +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, Internationalization Variables +for +the precedence of internationalization variables used to determine +the values of locale categories.) +.TP 7 +\fILC_ALL\fP +If set to a non-empty string value, override the values of all the +other internationalization variables. +.TP 7 +\fILC_CTYPE\fP +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 arguments). +.TP 7 +\fILC_MESSAGES\fP +Determine the locale that should be used to affect the format and +contents of diagnostic messages written to standard +error. +.TP 7 +\fINLSPATH\fP +Determine the location of message catalogs for the processing of \fILC_MESSAGES +\&.\fP +.sp +.SH ASYNCHRONOUS EVENTS +.LP +Default. +.SH STDOUT +.LP +When the \fB-l\fP option is not specified, the standard output shall +not be used. +.LP +When the \fB-l\fP option is specified, the symbolic name of each signal +shall be written in the following format: +.sp +.RS +.nf + +\fB"%s%c", <\fP\fIsignal_name\fP\fB>, <\fP\fIseparator\fP\fB> +\fP +.fi +.RE +.LP +where the <\fIsignal_name\fP> is in uppercase, without the \fBSIG\fP +prefix, and the <\fIseparator\fP> shall be +either a <newline> or a <space>. For the last signal written, <\fIseparator\fP> +shall be a <newline>. +.LP +When both the \fB-l\fP option and \fIexit_status\fP operand are specified, +the symbolic name of the corresponding signal shall +be written in the following format: +.sp +.RS +.nf + +\fB"%s\\n", <\fP\fIsignal_name\fP\fB> +\fP +.fi +.RE +.SH STDERR +.LP +The standard error shall be used only for diagnostic messages. +.SH OUTPUT FILES +.LP +None. +.SH EXTENDED DESCRIPTION +.LP +None. +.SH EXIT STATUS +.LP +The following exit values shall be returned: +.TP 7 +\ 0 +At least one matching process was found for each \fIpid\fP operand, +and the specified signal was successfully processed for at +least one matching process. +.TP 7 +>0 +An error occurred. +.sp +.SH CONSEQUENCES OF ERRORS +.LP +Default. +.LP +\fIThe following sections are informative.\fP +.SH APPLICATION USAGE +.LP +Process numbers can be found by using \fIps\fP. +.LP +The job control job ID notation is not required to work as expected +when \fIkill\fP is operating in its own utility execution +environment. In either of the following examples: +.sp +.RS +.nf + +\fBnohup kill %1 & +system("kill %1"); +\fP +.fi +.RE +.LP +the \fIkill\fP operates in a different environment and does not share +the shell's understanding of job numbers. +.SH EXAMPLES +.LP +Any of the commands: +.sp +.RS +.nf + +\fBkill -9 100 -165 +kill -s kill 100 -165 +kill -s KILL 100 -165 +\fP +.fi +.RE +.LP +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. +.LP +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 \fIsignal_names\fP. Even the \fB-\fP +\fIsignal_number\fP 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 \fIkill\fP \fB-l\fP 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: +.sp +.RS +.nf + +\fBjob +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 +\fP +.fi +.RE +.LP +To send the default signal to a process group (say 123), an application +should use a command similar to one of the +following: +.sp +.RS +.nf + +\fBkill -TERM -123 +kill -- -123 +\fP +.fi +.RE +.SH RATIONALE +.LP +The \fB-l\fP 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 vertical or entirely horizontal listing +on systems for which this is appropriate. +.LP +An early proposal invented the name SIGNULL as a \fIsignal_name\fP +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 \fIsignal_name\fP 0 +can be used in this case unambiguously, SIGNULL has been removed. +.LP +An early proposal also required symbolic \fIsignal_name\fPs to be +recognized with or without the \fBSIG\fP prefix. Historical +versions of \fIkill\fP have not written the \fBSIG\fP prefix for the +\fB-l\fP option and have not recognized the \fBSIG\fP +prefix on \fIsignal_name\fPs. Since neither applications portability +nor ease-of-use would be improved by requiring this +extension, it is no longer required. +.LP +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 \fB"--"\fP +options terminator argument when specifying a process +group, unless an option is also specified. +.LP +The \fB-s\fP option was added in response to international interest +in providing some form of \fIkill\fP that meets the +Utility Syntax Guidelines. +.LP +The job control job ID notation is not required to work as expected +when \fIkill\fP is operating in its own utility execution +environment. In either of the following examples: +.sp +.RS +.nf + +\fBnohup kill %1 & +system("kill %1"); +\fP +.fi +.RE +.LP +the \fIkill\fP operates in a different environment and does not understand +how the shell has managed its job numbers. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIShell Command Language\fP , \fIps\fP , \fIwait\fP() , the System +Interfaces volume of IEEE\ Std\ 1003.1-2001, \fIkill\fP(), the Base +Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<signal.h>\fP +.SH 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 original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |