我见过以下命令:
$ kill %1
这个语句有什么用途?
答案1
简要地,
意思是杀死工作第一,不是过程第一。
可以使用该命令列出作业jobs
。
更广泛地说,它与您所使用的 shell 相关,并且不同 shell 的语法可能有所不同。
使用 bash shell,用户可以同时执行多个进程(作业),其父进程就是您正在使用的 shell。Google bash 作业控制基础知识
内置 kill 命令用于向其中一个作业管道发送信号。如果未指定特定信号,则使用 SIGTERM,这通常会结束(终止)作业,因此命名为 kill。但可以指定任何信号,其中一些可能会以某种方式重置进程或导致非终止行为。
最后,%1 是指定您希望向哪个作业发送信号的方法之一(多种方法之一!)。%1 指的是后台作业堆栈顶部的作业。
答案2
例如,当您将一个进程置于后台时:
# find / &
[1] ....
# ls -lr /usr &
[2] ....
现在,有两个进程在后台运行并连接到当前终端。如果你这样做:kill %1
上面的第一个“find”命令将被终止。正如 Anders 所说,您可以在终端上列出当前正在运行的后台进程并终止它们:
# jobs
[1] find / ...
[2] ls -lr ...
# kill %1