`

Linux中 Kill命令的应用

阅读更多

1.作用 
kill命令用来中止一个进程。 

2.格式 
kill [ -s signal | -p ] [ -a ] pid ... 
kill -l [ signal ] 

3.参数 
-s:指定发送的信号。 
-p:模拟发送信号。 
-l:指定信号的名称列表。 
pid:要中止进程的ID号。 
Signal:表示信号。 

4.说明 
进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 

Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。 

kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。 

5.应用实例 
(1)强行中止(经常使用杀掉)一个进程标识号为324的进程: 
#kill -9 324 

(2)解除Linux系统的死锁 
在Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的 PID,然后使用kill命令停止这个程序: 
#kill -SIGKILL XXX 
其中,XXX是包含有Mozolla浏览器的程序的进程标识号。 

(3)使用命令回收内存 
我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令: 
#kill -9 XXX 
其中,XXX是无用的进程标识号。 

然后使用下面命令: 
#free 
此时会发现可用内存容量增加了。 

(4)killall命令 
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如: 
# killall -HUP inetd 

*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。 



首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: 

# kill -pid 

注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。 


-------------------------------------------------------------------------------- 


*确定要杀死进程的PID或PPID 

# ps -ef | grep httpd 
-------------------------------------------------------------------------------- 


*以优雅的方式结束进程 

# kill -l PID 

-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。 
-------------------------------------------------------------------------------- 


*TERM信号 

给父进程发送一个TERM信号,试图杀死它和它的子进程。 

# kill -TERM PPID 
-------------------------------------------------------------------------------- 


*killall命令 

killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。 

# killall httpd 
-------------------------------------------------------------------------------- 


*停止和重启进程 

有时候只想简单的停止和重启进程。如下: 

# kill -HUP PID 

该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。 
-------------------------------------------------------------------------------- 


*绝杀 kill -9 PID 

同意的 kill -s SIGKILL 

这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。 

当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。 

如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。

分享到:
评论

相关推荐

    linuxps命令、kill命令及kill函数概述[借鉴].pdf

    Linux 操作系统中,ps 命令和 kill 命令是两个非常重要的命令,分别用于显示进程信息和中止进程。这两个命令在 Linux 系统中扮演着非常重要的角色。 ps 命令是用于显示当前系统中的进程信息,包括进程的 PID、父...

    linuxkill命令参数及用法详解借鉴.pdf

    Linux kill 命令是 Linux 操作系统中一个非常重要的命令,用于中止一个进程。该命令可以将指定的信息送至程序,预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制...

    linuxps命令、kill命令及kill函数概述.pdf

    Linux 操作系统中,ps 命令和 kill 命令是两个非常重要的命令,ps 命令用于显示当前系统中的所有进程信息,而 kill 命令用于结束某个进程。下面将详细介绍 ps 命令和 kill 命令的使用方法。 一、ps 命令 ps 命令是...

    Linux 环境如何使用 kill 命令优雅停止 Java 服务.pdf

    Linux操作系统中,停止运行中的Java服务可以通过多种方式实现,其中包括使用kill命令来发送信号给进程。Java服务经常被用作Web服务器或者应用服务,而Linux环境下,进程管理对于运维人员来说是一项基本技能。本文将...

    linux_kill用法.pdf

    ### Linux Kill 命令详解 #### 一、概述 Linux系统中,有时我们需要终止...通过学习和理解`kill`、`killall`、`pkill`及`xkill`命令,我们可以更有效地管理和控制Linux系统中的进程,从而提高系统的稳定性和安全性。

    Linux常用基本命令及应用技巧

    本文将深入讲解Linux的基本命令及其应用技巧,帮助初学者快速上手。 在Linux中,命令行界面是主要的操作方式,通过输入特定的命令,用户可以完成各种任务。下面我们将详细探讨几个重要的命令: 1. **登录与注销**...

    Linux常用经典命令(面试宝典)

    Linux常用命令详解 Linux 操作系统是当今世界上最流行的开源操作系统之一,广泛应用于服务器、超级计算机、嵌入式系统等...以上是 Linux 中一些常用的命令,掌握这些命令可以帮助用户更好地管理和维护 Linux 系统。

    linuxc常用命令

    Linux是一个类Unix操作系统,它以其稳定性和灵活性而闻名,广泛应用于服务器、桌面和个人计算等领域。Linux操作系统采用命令行界面(CLI),因此掌握常用Linux命令对于使用Linux系统来说是基础且至关重要的。下面...

    linux 启动 Tomcat 命令

    在Linux环境下部署与管理Java Web应用程序时,Apache Tomcat服务器作为最常用的轻量级应用容器之一,其启动与停止命令是运维人员必须掌握的基本技能。本文将详细介绍如何在Linux系统中启动Tomcat服务器,并解释相关...

    Linux命令查询全集 chm

    在IT领域,Linux操作系统是广泛应用于服务器、嵌入式设备以及个人计算机的一种开源操作系统。Linux以其高度可定制性、稳定性及强大的命令行工具而著称。对于熟悉Linux系统的人来说,熟练掌握各种命令是提高工作效率...

    linux命令和windows命令的区别.pdf

    - 结束进程在Linux中使用“kill”,在Windows中使用“taskkill”。 6. 特殊命令行工具: - Linux的Shell脚本编写能力非常强大,可以使用各种Shell语法编写复杂的自动化脚本。 - Windows的CMD和PowerShell则提供...

    linux60个常用命令总结

    安装和登录命令包括 login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last 等,都是 Linux 系统中最基本和最重要的命令。 login 命令的作用是登录系统,它的使用权限是所有用户。login 命令的...

    Linux 进程管理命令

    Linux 进程管理命令是 Linux 操作系统中用于管理进程的命令,它们是 Linux 系统管理员的基本工具。这些命令可以用来查看、管理和控制进程,从而确保系统的稳定运行。 1. 程序和进程 在 Linux 系统中,程序是指为了...

    Linux基本操作命令练习.pdf

    *kill命令:终止进程,例如 kill 1234 *bg命令:将进程放入后台,例如 bg %1 *fg命令:将进程放入前台,例如 fg %1 5. 网络管理命令 在Linux系统中,网络管理是非常重要的,网络管理命令可以帮助用户管理网络连接...

    Linux系统中常用命令详解及应用场景

    内容概要:本文详细介绍了Linux系统中常用的命令及其应用场景。涵盖了文件与目录操作(如ls、cd、mkdir、rmdir、touch、cp、mv、rm、find、ln)、文件内容查看与编辑(如cat、more/less、head/tail、vi/vim)、文件...

    Linux入门级命令大全.pdf

    kill命令用于终止进程,ps命令则用于显示进程信息,常常配合grep使用来定位特定进程。 passwd命令用于修改用户密码,history命令显示用户之前执行过的命令历史。 !!命令用于执行历史中最近一次执行的命令,mkdir...

    嵌入式linux的基础命令

    系统相关命令中,`ps`和`top`用于监控系统中的进程,`kill`发送信号终止进程,`uname`显示系统信息,`setup`提供图形化系统配置,`crontab`用于设置定时任务,`shutdown`和`reboot`关机或重启系统,`uptime`查看系统...

    unix(linux)常用命令课程

    【课程介绍】 Unix 和 Linux 操作系统是计算机科学领域中不可或缺的部分,尤其在服务器管理和软件开发中占据...通过实例演示和实践操作,学员将能够熟练应用这些命令解决实际问题,提升在Unix/Linux环境下的工作效率。

    Linux系统下trap命令在Shell编程中的应用.pdf

    "Linux系统下trap命令在Shell编程中的应用" Trap命令是Linux系统中Shell编程的一种重要命令,用于捕获信号并执行预定义的命令。该命令可以帮助程序员捕获各种信号,如错误的系统调用、用户产生的中断、非法指令等,...

Global site tag (gtag.js) - Google Analytics