Linux命令-kill命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps
、pidof
、pstree
、top
等工具获取进程PID,然后使用kill命令来杀掉该进程。
kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15
的TERM
信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9
的kill
信号,强行“杀掉”该进程。
1.命令格式:
1 | kill [参数] [进程号] |
2.命令功能:
发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps
命令或者jobs
命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
3.命令参数:
1 | -l, 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 |
注意:
1 | 1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如: |
4.使用实例:
实例1:列出所有信号名称:
1 | kill -l |
说明:
1 | 只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 |
实例2:得到指定信号的数值
1 | [root@localhost lxy]# kill -l KILL |
实例3:先用ps查找进程,然后用kill杀掉
1 | 默认使用TERM(15)的终止信号 |
实例4:彻底杀死进程
1 | kill –9 3268 |
实例5:杀死指定用户的所有进程
1 | 过滤出lxy用户进程并杀死 |
实例6:init进程是不可杀的
1 | kill -9 1 |
说明:
1 | init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的! |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LXY's blog!