代码改变世界

Linux中kill %n命令是干啥的?

2023-11-29 16:38  潇湘隐者  阅读(182)  评论(0编辑  收藏  举报

在Linux或Unix下,如果你看见别人使用kill %1 或者kill %n (n为一个具体的数字)命令,你知道kill %n 这种带%号的用法是干嘛吗?其实kill %n 表示kill掉后台程序(也可以说是作业),其中n表示Job的编号(number),而不是进程的进程号,下面我们来简单演示一下

$ more initkerry.ora

在没有完全输出前,然后执行命令CTRL+Z 将这个正在前台执行的命令放到后台,并且其处于暂停状态,然后我们就可以用jobs命令找到这个作业number(后台进程),然用kill %n命令杀掉这个后台进程/作业,具体操作如下所示

$ ps -ef | grep initkerry.ora | grep -v grep
oracle 3904879 3901495 0 15:10 pts/0 00:00:00 more initkerry.ora
jobs
[3]+ Stopped more initkerry.ora
kill %3
[3]+ Stopped more initkerry.ora
jobs
[3]+ Terminated more initkerry.ora
jobs
$