kill (发送指定的信号到相应进程)

秃噜豆儿 发表于 2020-07-05 08:15
浏览次数:
在手机上阅读

在Unix-like的操作系统上,kill命令向进程发送信号。如果不指定发送哪个信号,默认情况下发送术语signal,这将终止进程。

当您在命令行运行kill时,您可能正在运行shell的内置kill,它可能有稍微不同的选项。有关bashshell中kill的内置版本的信息,请参阅bash“kill”内置命令。

When you run kill at the command line, you may be running your shell's built-in kill instead, which may have slightly different options. For information about the built-in version of kill in the bash shell, see the bash "kill" built-in command.

查看英文版

目录

1 kill 运行系统环境

2 kill 描述

3 kill 指定PID

4 kill 语法

5 kill 选项

6 kill 示例

kill 运行系统环境

Unix&Linux

kill 描述

要从命令行向进程发送任何信号,请使用kill。
要列出所有可用的信号,请使用-l(小写l)选项。我们还提供了一个Linux信号列表,供您快速参考。
常用的信号包括HUP、INT、KILL、STOP、CONT和0。
可通过三种方式指定信号:
  • 按编号 (e.g., -9)
  • 带“SIG”前缀 (e.g., -SIGKILL)
  • 不带“SIG”前缀 (e.g., -KILL).
To send any signal to a process from the command line, use kill.
To list all available signals, use the -l (lowercase L) option. We've also provided a list of Linux signals for you to use as a quick reference.
Frequently-used signals include HUP, INT, KILL, STOP, CONT, and 0.
Signals may be specified in three ways:
  • by number (e.g., -9)
  • with the "SIG" prefix (e.g., -SIGKILL)
  • without "SIG" prefix (e.g., -KILL).

查看英文版

查看中文版

kill 指定PID

要指定哪个进程应该接收信号,请使用其数字PID(进程ID)。要查看正在运行的进程的列表,可以使用ps命令。
负PID值可用于指示进程组ID,而不是进程ID。请参阅ps命令输出中的PGID列,例如,使用ps-eo user,PID,PGID,command。

如果将进程组ID指定为kill命令的目标,则该组中的所有进程都将收到该信号。
PID为-1是特殊的。它表示除两个进程外的所有进程:kill进程本身和init(PID 1),后者是系统上所有进程的父进程。

指定-1作为目标将向除这两个进程之外的所有进程发送信号。

To specify which process should receive the signal, use its numeric PID (process ID). 

To see a list of running processes, you can use the ps command.

Negative PID values may be used to indicate the process group ID, rather than the process ID. 

See the PGID column in the output of the ps command, e.g., with ps -eo user,pid,pgid,command. 

If you specify a process group ID as the target of a kill command, all processes in the group will receive the signal.

A PID of -1 is special. It indicates all processes except two: the kill process itself, and init (PID 1), 

which is the parent process of all processes on the system. 

Specifying -1 as the target will send the signal to all processes except these two.

查看英文版

查看中文版

kill 语法

终止过程:

killpid...

发送信号到进程:

kill{-signal|-ssignal}pid...

列出可用信号:

kill{-l|--list[=signal] |-L|--table}

Terminate process(es):

killpid...

Send a signal to process(es):

kill{-signal|-ssignal}pid...

List available signals:

kill{-l|--list[=signal] |-L|--table}

查看英文版

查看中文版

kill 选项

选项 描述
-signal,
-s signal

名称,缩写名称或要发送的信号编号,后跟破折号。例如,-SIGTERM,-TERM或-15

要查看可用信号列表,请使用-l或-L选项(请参见下文),或参考我们的Linux信号列表。

pid 数字进程ID。如果不确定某个进程的PID是什么,请使用ps命令将其列出,例如ps -aux。
-l, --list[=signal] 列出可用的信号名称。使用-l或--list,列出所有信号名称。使用--list = signal,将数字转换为其信号名称。
-L, --table 在表格中列出可用的信号名称和编号。
Option Description
-signal,
-s signal
The name, abbreviated name, or number of the signal to be sent, preceded by a dash. For example, -SIGTERM-TERM, or -15. To view a list of available signals, use the -l or -L options (see below), or refer to our list of Linux signals.
pid A numeric process ID. If you're not sure what the PID is of a process, use the ps command to list it, e.g., ps -aux.
-l--list[=signal] List available signal names. With -l or --list, lists all signal names. With --list=signal, translates a number into its signal name.
-L--table List available signal names and numbers in a table.

查看英文版

查看中文版

kill 示例

在这些示例中,如果命令被列为/ bin / kill,则应使用该版本的kill命令运行。其他命令可以通过内置kill运行。

kill -9 -1

Kill用户有权终止所有进程,除了根进程(PID 1)和Kill进程本身。

kill -l

列出所有可用的信号名称。示例输出:

HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT 
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
/bin/kill -l

与上一个命令相同。

/bin/kill --list

与前两个命令相同。

/bin/kill -L

以表格格式列出可用信号及其编号。示例输出:

1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS 
8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM 
15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN 
22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH 
29 POLL 30 PWR 31 SYS
/bin/kill --table

与上一个命令相同。

/bin/kill --list=11

将信号编号11转换为其信号名称。输出:

SEGV
kill 123 4567

为ID为123和4567的进程发送默认信号(KILL,信号编号9)。这些进程将被终止。

In these examples, if a command is listed as /bin/kill, it should be run with that version of the kill command. 

Other commands may be run with built-in kill.

kill -9 -1

Kill all processes the user has permission to kill, except the root process (PID 1) and the kill process itself.

kill -l

List all available signal names. Sample output:

HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT 
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
/bin/kill -l

Same as the previous command.

/bin/kill --list

Same as the previous two commands.

/bin/kill -L

List available signals and their numbers in a table format. Sample output:

1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS 
8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM 
15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN 
22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH 
29 POLL 30 PWR 31 SYS
/bin/kill --table

Same as the previous command.

/bin/kill --list=11

Translate signal number 11 into its signal name. Output:

SEGV
kill 123 4567

Sends the default signal (KILL, signal number 9) for the processes with IDs 123 and 4567. 

Those processes are terminated.

查看英文版

查看中文版

其他命令行

keylogin | killall |

如此好文,分享给朋友
发表评论
验证码:
评论列表
共0条