Updated: 2021/Apr/14


KILL(1)                     General Commands Manual                    KILL(1)

NAME
     kill - terminate or signal a process

SYNOPSIS
     kill [-s signal_name] pid ...
     kill -l [exit_status]
     kill -signal_name pid ...
     kill -signal_number pid ...

DESCRIPTION
     The kill utility sends a signal to the process(es) specified by the pid
     operand(s).

     Only the super-user may send signals to other users' processes.

     The options are as follows:

     -s signal_name
             A symbolic signal name specifying the signal to be sent instead
             of the default TERM.

     -l [exit_status]
             Display the name of the signal corresponding to exit_status.
             exit_status may be the exit status of a command killed by a
             signal (see the special sh(1) parameter `?') or a signal number.

             If no operand is given, display the names of all the signals.  In
             /bin/kill, if the variable POSIXLY_CORRECT is set in the
             environment, this uses the POSIX specified format, otherwise a
             slightly more pleasing layout is used.

     -signal_name
             A symbolic signal name specifying the signal to be sent instead
             of the default TERM.

     -signal_number
             A non-negative decimal integer, specifying the signal to be sent
             instead of the default TERM.

     The following pids have special meanings:
     -1      If superuser, broadcast the signal to all processes; otherwise
             broadcast to all processes belonging to the user.
     0       Broadcast the signal to all processes in the current process
             group belonging to the user.
     Any other negative pid is interpreted as the negative of a process group
     identifier, and the signal is sent to all members of that group.

     Note that while not required by this implementation, if the first pid
     operand is negative, it should be preceded by the "--" end of options
     indicator, to avoid the pid being treated as yet more options.  That is
     always required if no specific signal is specified and the first pid is
     negative, or that pid would be treated as the signal_number.

     Some of the more commonly used signals:
     0       0 (does not affect the process; can be used to test whether the
             process exists)
     1       HUP (hang up)
     2       INT (interrupt)
     3       QUIT (quit)
     6       ABRT (abort)
     9       KILL (non-catchable, non-ignorable kill)
     14      ALRM (alarm clock)
     15      TERM (software termination signal)
     17      STOP (non-catchable, non-ignorable, causes process to temporarily
             stop, after which it can later be resumed using SIGCONT)
     19      CONT (stopped proceses resume execution)

     kill is a built-in to most shells, including sh(1) and csh(1); it allows
     job specifiers of the form ``%...'' as arguments so process id's are not
     as often used as kill arguments.  See csh(1), sh(1) or the man page for
     the shell in use for details.

DIAGNOSTICS
     The kill utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     csh(1), pgrep(1), pkill(1), ps(1), sh(1), kill(2), sigaction(2),
     signal(7)

STANDARDS
     The kill utility is expected to be IEEE Std 1003.2 ("POSIX.2")
     compatible.

HISTORY
     A kill command appeared in Version 3 AT&T UNIX in section 8 of the
     manual.

NetBSD 9.99                     August 30, 2020                    NetBSD 9.99