本文主要是介绍kill的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
kill1.作用
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的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!