linux命令杀进程脚本 linux命令行杀死进程( 四 )


NAME (名称)
killall – 以名字方式来杀死进程
SYNOPSIS (总览)
killall [-egiqvw] [-signal] name …
killall -l
killall -V
DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM. 。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定 。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关 。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0 。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程) 。
OPTIONS (选项)
-e
对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息 。
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程 。
-i
交互方式,在杀死进程之前征求确认信息 。
-l
列出所有已知的信号名 。
-q
如果没有进程杀死, 不会提出抱怨 。
-v
报告信号是否成功发送 。
-V
显示版本信息 。
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待 。
FILES(相关文件)
/proc proc文件系统的存在位置 。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死 。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心 。
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到 。
来源:
下面来了解相关命令:
一、查看进程的命令 有ps、pstree、pgrep等:
1、ps
显示进程信息,参数可省略
-aux以BSD风格显示进程 常用
-efH以System V风格显示进程
-e , -A 显示所有进程
a显示终端上所有用户的进程
x显示无终端进程
u显示详细信息
f树状显示
w完整显示信息
l显示长列表
在终端中执行ps aux,
各列输出字段的含义:
USER进程所有者
PID进程ID
PPID父进程
%CPUCPU占用率
%MEM内存占用率
NI进程优先级 。数值越大,占用CPU时间越少
VSZ进程虚拟大小
RSS页面文件占用
TTY终端ID
STAT进程状态
+---D不可中断Uninterruptible sleep (usually IO)
+---R正在运行,或在队列中的进程
+---S处于休眠状态
+---T停止或被追踪
+---Z僵尸进程
+---W进入内存交换(从内核2.6开始无效)
+---X死掉的进程
+---高优先级
+---N低优先级
+---L有些页被锁进内存
+---s包含子进程
+---+位于后台的进程组;
+---l多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PID:进程标识符,系统为每一个进程分配一个识别码,称为PID 。
ps命令极为常用 , 其他命令还有:
2.pstree
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示

推荐阅读