CentOS中Kill进程的方法

浏览次数:10627 关键词 ( 进程  方法  CentOS  Kill  )

一、获取进程PID再kill -s -9 pid来kill进程

1、ps -ef

[root@justin conf]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:09 ?        00:00:02 /sbin/init
root         2     0  0 14:09 ?        00:00:00 [kthreadd]
root         3     2  0 14:09 ?        00:00:00 [migration/0]
root         4     2  0 14:09 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 14:09 ?        00:00:00 [migration/0]


2、ps -aux

[root@justin conf]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.4  0.1   2872  1424 ?        Ss   14:09   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S    14:09   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    14:09   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    14:09   0:00 [ksoftirqd/0]


说明:要精确查找可以通过管道来过滤

[root@justin conf]# ps -aux|grep httpd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      1973  0.0  0.3  11648  3308 ?        Ss   14:13   0:00 /usr/sbin/httpd
apache    1976  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1977  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1978  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1979  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1980  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1981  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1982  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
apache    1983  0.0  0.2  11648  2128 ?        S    14:13   0:00 /usr/sbin/httpd
root      2007  0.0  0.0   4340   744 pts/0S+   14:20   0:00 grephttpd


3、pgrep

pgrep的p表明了这个命令是专门用于进程查询的grep

[root@justin conf]# pgrep httpd
1973
1976
1977
1978
1979
1980
1981
1982
1983


4、pidof

pid of xx,字面翻译过来就是 xx的PID,和pgrep相比稍显不足的是,pidof必须给出进程的全名

[root@justin conf]# pidof httpd
1983 1982 1981 1980 1979 1978 1977 1976 1973
[root@justin conf]#


二、ps -ef | grep httpd | grep -v grep | cut -c 9-15 | xargs kill -s 9

说明:

“grep httpd”的输出结果是,所有含有关键字“httpd”的进程。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程

三、pgrep httpd | xargs kill -s 9

上面的命令太长用起来很少,多数会用这条命令

四、kill -s 9 `pgrep httpd`

五、killall -9 httpd

killall后面的需要接完整的程序名称,否则会报

本文出自 “过程就是为了实现结果” 博客,请务必保留此出处http://justinpeng.blog.51cto.com/7662323/1313927c