技术改变生活

博客园 首页 新随笔 联系 订阅 管理

进程管理——终止进程

1、kill命令

[root@localhost ~]#kill -l

#查看可用的进程信号

信号代号

信号名称

说明

1

SIGHUP

该信号让进程立即关闭,然后重新读取配置文件之后重启。

9

SIGFPE

用来立即结束程序的运行,本信号不能被堵塞、处理和忽略。一般用于强制终止进程。

15

SIGTERM

正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9.

 

1实际上是重启服务,service Apache restart 实际上调用的就是1这个信号;

9代表强制终止                                                  15是正常终止

举例:[root@localhost ~]#kill -1 22354

#重启进程

[root@localhost ~]#kill -9 22368

#强制杀死进程

举例:[xiaofeng@localhost ~]$ pstree -p |grep httpd

           |-httpd(1065)-+-httpd(2285)

           |             |-httpd(2286)

           |             |-httpd(2287)

           |             |-httpd(2288)

           |              |-httpd(2289)

[xiaofeng@localhost ~]$ sudo kill -9 2287    强制删除进程

[xiaofeng@localhost ~]$ pstree -p |grep httpd

           |-httpd(1065)-+-httpd(2285)

           |             |-httpd(2286)

           |             |-httpd(2288)

           |             |-httpd(2289)

           |             `-httpd(5498)

[xiaofeng@localhost ~]$ sudo kill -1 1065   重启主进程

[xiaofeng@localhost ~]$ pstree -p |grep httpd

           |-httpd(1065)-+-httpd(5686)

           |             |-httpd(5687)

           |             |-httpd(5688)

           |             |-httpd(5689)

           |             `-httpd(5690)

2、killall命令

[xiaofeng@localhost ~]$killall   [选项][信号] 进程名

#按照进程名杀死进程

选项:

      -i:                   交互式,询问是否要杀死某个进程

      -I                    忽略进程名的大小写

 举例: [xiaofeng@localhost ~]$ sudo killall -9 httpd

              [xiaofeng@localhost ~]$ pstree -p |grep httpd

3、pkill命令

[xiaofeng@localhost ~]$ pkill  [选项] [信号] 进程名

#按进程名终止进程

选项:

 -t           终端号:              按照终端号踢出用户

举例:[xiaofeng@localhost ~]$ sudo service httpd start

#启动httpd服务

[xiaofeng@localhost ~]$ pstree -p |grep httpd

           |-httpd(5826)-+-httpd(5827)

           |             |-httpd(5828)

           |             |-httpd(5829)

           |             |-httpd(5830)

           |             `-httpd(5831)

#查看httpd服务的进程

 [xiaofeng@localhost ~]$ sudo pkill -9 httpd

#终止httpd服务进程

[xiaofeng@localhost ~]$ pstree -p |grep httpd

#查看httpd的进程树,发现已经被终止了

 

强制终止,是正常停止手段不生效的情况下,才会强制终止。正常情况下,启动httpd服务还是需要用service httpd start这个命令。

举例:[xiaofeng@localhost ~]$ w        #查看当前登录的用户数

 17:41:01 up  2:34,  2 users,  load average: 0.00, 0.01, 0.05

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

xiaofeng tty1                      15:36    2:03m  0.15s  0.15s -bash

xiaofeng pts/0    192.168.217.1    15:07    5.00s  0.25s  0.00s w

[xiaofeng@localhost ~]$ sudo pkill -9 -t tty1  踢出本地登录账号

[xiaofeng@localhost ~]$ w

 17:41:54 up  2:35,  1 user,  load average: 0.00, 0.01, 0.05

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

xiaofeng pts/0    192.168.217.1    15:07    2.00s  0.26s  0.00s w

#查看当前用户,发现tty1被踢出

posted on 2017-03-16 17:50  小阿峰  阅读(187)  评论(0编辑  收藏  举报