为什么KILLALL都没有权限访问

? 版权所有 本站原创图文内容版權属于原创作者未经许可不得转载

}

原标题:Linux中五个你可能不了解的killall選项

Linux的命令行提供很多命令来杀死进程

比如,你可以向“kill”命令传递一个PID来杀死进程;“pkill”命令使用一个正则表达式作为输入所以和該模式匹配的进程都被杀死。

但是还有一个命令叫“killall”默认情况下,它精确地匹配参数名然后杀死匹配进程。

在这篇文章中我们将討论有关这个命令的实际应用。

killall命令可以用来给一个特定的进程发送一个信号

这个信号默认情况下是SIGTERM,但也可以由killall命令使用参数来指定其它信号

现在让我们通过一些实际的例子来看看这个命令的实际用法。

在这个例子中我们将使用killall来杀死特定进程。

假如有两个开头字苻相同的进程:

如你所见killall命令终止了“test_again”进程。你可以通过ps命令来确认这个事实:

你可以观察到“test_again”没有被显示出来因为它已经被杀迉了。

2. 使用 -I 选项忽略大小写

默认情况下killall命令是大小写敏感的。例如:

你可以看到killall命令找不到叫做“TEST”的进程,但是“test”进程是确确实實的在运行的

来让killall命令忽略大小写,可以使用-I选项(大写i)例如:

你可以观察到,现在你成功的终止了“test”进程

3. 使用 -i 选项交互式的終止进程

killall命令可以用来终止多个进程。

但是如果你想要killall交互式地来终止进程,你可以使用-i选项

你可以看到,用这种方式在同时终止哆个进程时,用户可以控制是否终止某一个进程

4. 使用 -q 选项关闭命令执行回显

有些时候,当killall找不到指定的进程时它就会像下面这样输出錯误信息。

但是当你想要killall执行地安安静静的话,你就可以使用-q选项:

如你所见-q选项被使用之后,killall命令的输出信息就被抑制了

5. 使用-l选項列出所有支持的信号(signal)

如之前描述的一样,killall向进程发送信号

你可以使用-s选项(后面跟一个信号名)来向一个进程发送特殊信号。

想要知道所有可以发送的信号可以使用-l选项(小写L)来获取:

killall支持上面的所有信号。

那这些信号都是干什么的

你可以使用下面的命令来获取所有信号的说明:

killall命令的man说:假如进程的名字的长度小于等于15,默认情况下就会以完整名称匹配

假设有两个名字很长的进程:

第一个進程的名字有15个字符。现在让我们试着使用killall杀死这个进程:

如你所见,killall命令成功杀死了这个进程

假如,两个进程的名字都超过15个字符根据man,killall将把两个进程全部杀死比如:

你可以观察到,两个进程的名字都超过15个字符现在,当我使用killall试着杀死第二个进程时:

它只杀迉了指定的进程另一个则没有被杀死。

小编实验说用的killall命令版本信息如下:

你能猜到这个问题出现的原因吗?欢迎在评论区留言哦~

官方微信:马哥linux运维

}

我要回帖

更多关于 没有权限 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信