Linux中用于终结进程的kill和pikill及killall命令的用法

这篇文章主要介绍“Linux中用于终结进程的kill和pikill及killall命令的用法”,在日常操作中,相信很多人在Linux中用于终结进程的kill和pikill及killall命令的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中用于终结进程的kill和pikill及killall命令的用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联公司专业提供成都网站建设、做网站,网页设计,网站制作(企业站、响应式网站设计、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!

kill
kill 命令:发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程

-l  <信号变化哦啊>,若不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a  当处理当前进程时,不限制命令名和进程号的对应关系
-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s  指定发送信号
-u  指定用户
例:

代码如下:


[root@redhat ~]# kill 1908   #杀死进程
[root@redhat ~]# kill -KILL 1908   #强制杀死进程
[root@redhat ~]# kill -9 6985     #彻底杀死进程
[root@redhat ~]# kill -u tank   #杀死指定用户的所有进程

pkill
pkill 命令:是ps命令和kill命令的结合,用来杀死指定进程

-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序

例:

代码如下:


[root@redhat ~]# pkill -t tty1     #杀死终端1下的所有进程
[root@Centos ~]# pkill -kill -t pts/2   #踢用户
[root@redhat ~]# pkill -9 6985     #彻底杀死进程
[root@redhat ~]# pkill -u tank   #杀死指定用户的所有进程
[root@redhat ~]# pkill -vu root #杀死不属于root用户的所有进程

killall
killall - 以名字方式来杀死进程 [[ ]]

killall [ -egiqvw ] [ -signal ] name ...
killall -l
killall -V [[ ]]
DESCRIPTION (描述)

killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送 SIGTERM.
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定.
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关.
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0.
killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程). [[ ]]
OPTIONS (选项)

-e
    对于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息.
-g
    杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程.
-i
    交互方式,在杀死进程之前征求确认信息.
-l
    列出所有已知的信号名.
-q
    如果没有进程杀死, 不会提出抱怨.
-v
    报告信号是否成功发送.
-V
    显示版本信息.
-w
    等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待.

例:

代码如下:


[root@redhat ~]# killall sudo


会话结束,结束 shell ... ...已被杀死。

到此,关于“Linux中用于终结进程的kill和pikill及killall命令的用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


名称栏目:Linux中用于终结进程的kill和pikill及killall命令的用法
文章源于:http://scyanting.com/article/jpjohj.html