CentOS中Kill进程的方法
时间:2016-04-06 16:11 来源:linux.it.net.cn 作者:IT
一、获取进程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)
一、获取进程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) |