> CentOS > CentOS入门 >

CentOS中Kill进程的方法

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

1、ps -ef
[root@it.net.cn 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@it.net.cn 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@it.net.cn 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@it.net.cn conf]# pgrep httpd 1973 1976 1977 1978 1979 1980 1981 1982 1983



4、pidof

pid of xx,字面翻译过来就是 xx的PID,和pgrep相比稍显不足的是,pidof必须给出进程的全名
[root@it.net.cn conf]# pidof httpd 1983 1982 1981 1980 1979 1978 1977 1976 1973 [root@it.net.cn 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后面的需要接完整的程序名称,否则会报


(责任编辑:IT)