杀%1是什么意思

q09*_*987 21 linux ubuntu-10.04

我看到了以下命令:

$ kill %1
Run Code Online (Sandbox Code Playgroud)

这个语句的用途是什么?

小智 24

简要地,

这意味着杀死第 1 个工作,而不是第一个进程

可以使用jobs命令列出作业。

更广泛地说,它与您使用的任何外壳有关,并且语法可能因外壳而异。

使用 bash shell,用户可以同时执行多个进程(作业),其父进程是您正在使用的 shell。Google bash 作业控制基础知识

内置 kill 命令用于向这些作业管道之一发送信号。如果未指定特定信号,则使用 SIGTERM,这通常会结束(终止)作业,因此命名为 kill。但是可以指定任何信号,其中一些可能以某种方式重置进程或导致非终止行为。

最后,%1 是指定您希望将信号发送到哪个作业的一种方式(很多!)。%1 指的是后台作业堆栈顶部的作业。


小智 8

例如,当您后台进程时:

# find / &
[1] ....

# ls -lr /usr &
[2] ....
Run Code Online (Sandbox Code Playgroud)

现在,这里有两个进程在后台运行并连接到当前终端。如果你这样做:杀死 %1

上面的第一个“查找”命令将被终止。正如安德斯所说,您可以在终端上列出当前正在运行的后台进程并杀死它们:

# jobs
[1] find / ...
[2] ls -lr ...

# kill %1
Run Code Online (Sandbox Code Playgroud)