kill命令可以从kill这个词来大致了解下它的作用,是的,它用来杀死(kill)一个进程。下面是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
使用权限:所有使用者
使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
参数:
-s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束; 详细的信号可以用 kill -l
-p : 印出 pid , 并不送出信号
-l (signal) : 列出所有可用的信号名称
范例:
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456
方法一: kill PID或者kill -9 PID 首先通过ps -u uername查找到自己的进程
这种需要查找到进程的PID,如果进程比较多的时候会比较烦
方法二: killall ProcessName或者pkill ProcessName
这种会杀掉进程名为ProcessName的所有进程,由于公司的机器一般都是公用机器,所以这种方法不妥
会把其他用户的进程也kill掉
方法三: fuser -km installdir
提供产品安装目录,fuser -km会把使用目录下文件的所有进程kill掉,这样就不会存在残留进程了.
使用之前最好运行chdir切换当前目录,否则很有可能会把当前shell进程也kill掉,如果使用ssh登陆的话,那会马上退出的.
分享到:
相关推荐
Linux kill 命令参数及用法详解 Linux kill 命令是 Linux 操作系统中一个非常重要的命令,用于中止一个进程。该命令可以将指定的信息送至程序,预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,...
* 解除 Linux 系统的死锁:使用 kill 命令中止有问题的程序,以解除系统死锁。 * 回收内存:使用 kill 命令中止一些“ 越轨” 的程序或很长时间没有相应的程序,以回收内存。 此外,Linux 下还提供了一个 killall ...
* 解除 Linux 系统的死锁:使用 kill 命令中止有问题的程序。 进程类型 Linux 系统中有三种不同类型的进程,每种进程都有自己的特点和属性: * 交互进程:由一个 Shell 启动的进程,可以在前台运行,也可以在后台...
4. **kill命令**:`kill`用于向进程发送信号,以便终止或改变进程的行为。源码中会包含处理信号发送的逻辑,如解析用户输入的信号号,查找目标进程并发送信号的函数等。 5. **vmstat命令**:`vmstat`提供关于虚拟...
2. 解除 Linux 系统的死锁:使用 kill 命令中止有问题的程序。 3. 回收内存:使用 kill 命令中止一些“ 越轨” 的程序或很长时间没有相应的程序,以回收内存。 4. 使用 killall 命令:Linux 下还提供了一个 killall ...
在Linux中,kill命令使用方式一般为`kill [选项] <进程ID>`。如果要优雅地停止Java服务,推荐使用SIGTERM信号,其信号编号为15。这样做可以允许Java服务先进行必要的清理工作,比如关闭数据库连接、释放资源等。若...
Linux kill命令 Linux kill命令用于删除执行中的程序或工作。 kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的...
由于其在系统管理和维护中的重要性,了解并熟练使用`kill`命令对于Linux用户和管理员至关重要。在Windows系统中,`kill`命令的功能类似于任务管理器中的结束任务选项。 `kill`命令最常使用的三个信号是`1`, `9`, 和...
总结来说,`kill`命令是Linux系统管理员控制进程的重要工具,理解并正确使用各种信号能够帮助我们更有效地管理和维护系统中的进程。使用`SIGTERM`作为首选,仅在必要时才使用`SIGKILL`,以避免可能的数据丢失或资源...
### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...
常用实例25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH35) SIGRTMIN+1 36) SIGRTMI
通过学习`procps`源码,不仅可以增强对`ps`和`kill`命令的理解,还能深入学习到Linux内核与用户空间交互的方式,以及如何利用/proc文件系统获取系统信息。这对于系统开发、运维和性能优化等领域都有很大的帮助。
结合其他命令使用 我们可以先使用`ps`命令查找进程的ID,然后使用`kill`命令终止进程。例如,要查找并终止所有`httpd`进程,可以先使用`ps aux | grep httpd`命令找到所有相关进程的ID,再使用`kill`命令逐一终止。...
Linux 进程管理与 kill 命令使用详解 Linux 进程管理是 Linux 操作系统中的一项重要功能,在 Linux 中,每个进程都是独立的实体,它们之间可以相互通信和交互。为了实现进程管理,Linux 提供了多种命令和工具,其中...
linux常用命令大全 1. **ls**:列出目录内容 2. **cd**:改变当前目录 3. **pwd**:显示当前工作目录 4. **mkdir**:创建目录 5. **rmdir**:删除空目录 6. **cp**:复制文件或目录 7. **mv**:移动或重命名文件或...
Linux操作系统自诞生以来,以其开源、高效、稳定的特性吸引了无数用户和开发者。...通过这些命令的使用,用户可以有效地进行Linux系统的日常管理、维护和故障排查,从而充分利用Linux系统的强大功能。
在Linux系统中,管理进程是一项基本任务,而`kill`命令是进行进程调度的重要工具,尤其在需要终止后台进程时显得至关重要。`kill`命令通过发送信号(signal)来结束进程,信号是一种通信机制,用来通知进程发生了...