学习笔记

Study notes

Linux kill 命令详解

云逐梦17212022-04-08 17:13:00返回列表

通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。

一、前言

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。

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

、ps详解

    1、命令格式

kill[参数][进程号]

    2、命令参数

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

    3、实例介绍

    实例一:出所有信号名称

    命令:

    kill -l

image.png

    常用的信号:

        HUP 1 终端断线

        INT 2 中断(同 Ctrl + C)

        QUIT 3 退出(同 Ctrl + \)

        TERM 15 终止

        KILL 9 强制终止

        CONT 18 继续(与STOP相反, fg/bg命令)

        STOP 19 暂停(同 Ctrl + Z)

 

    实例二:得到指定信号的数值

    命令:

    kill -l KILL

   image.png


    实例三:先用ps查找进程,然后用kill杀掉

    命令:

    kill 29377

   image.png


    实例四:彻底杀死进程

    命令:

    kill -9 7403

   image.png


    实例五杀死指定用户所有进程

    命令:

    Kill -9 $(ps -ef | grep yun)

    或

    kill -u yun


    说明:

        init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!



返回
顶部