加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux pkill命令 停止进程 按终端号踢出用户

发布时间:2023-05-31 11:35:39 所属栏目:Linux 来源:
导读:当作于管理进程时,pkill 命令和 killall 命令的用法相同,都是通过进程名杀死一类进程,该命令的基本格式如下:[root@localhost ~]# pkill [信号] 进程名罗列了此命令常用的信号及其含义。pkill 命令常用信号及其含

当作于管理进程时,pkill 命令和 killall 命令的用法相同,都是通过进程名杀死一类进程,该命令的基本格式如下:

[root@localhost ~]# pkill [信号] 进程名

罗列了此命令常用的信号及其含义。

pkill 命令常用信号及其含义信号编号信号名含义0EXIT 程序退出时收到该信息。1HUP挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。2INT表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。3QUIT退出。9KILL杀死进程,即强制结束进程。11SEGV 段错误。15TERM正常结束进程,是 kill 命令的默认信号。

【例 1】[root@localhost ~]# pkill -9 httpd  <--按名称强制杀死 httpd 进程

[root@localhost ~]# pstree -p | grep httpd  <-- 查看 apache 进程,发现没有了

[root@localhost ~]# service httpd start   <--重新启动 apache 进程

Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain me, using 127.0.0.1 for ServerName

[OK]

[root@localhost ~]# pstree -p | grep httpd <-- 再次查看,apache 进程重新启动

       - httpd (11157) -+-httpd(11159)

       |              |-httpd(11160)

       |              |-httpd(11161)

       |              |-httpd(11162)

       |              |-httpd(11163)

       |              |-httpd(11164)

       |              |-httpd(11165)

       |              |-httpd(11166)

pkill命令踢出登陆用户

除此之外,pkill 还有一个更重要的功能,即按照终端号来踢出用户登录,此时的 pkill 命令的基本格式如下:

[root@localhost ~]# pkill [-t 终端号] 进程名

[-t 终端号] 选项用于按照终端号踢出用户;

学习 killall 命令时,不知道大家发现没有,通过 killall 命令杀死 sshd 进程的方式来踢出用户,非常容易误杀死进程,要么会把 sshd 服务杀死,要么会把自己的登录终端杀死。

所以,不管是使用 kill 命令按照 PID 杀死登录进程,还是使用 killall 命令按照进程名杀死登录进程,都是非常容易误杀死进程的,而使用 pkill 命令则不会,举个例子:

[root@localhost ~]# w

#使用w命令查询本机已经登录的用户

20:06:34 up 28 min, 3 users, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root ttyl - 19:47 18:52 0.01s 0.01s -bash

root pts/0 192.168.0.100 19:47 0.00s 0.09s 0.04s w

root pts/1 192.168.0.100 19:51 14:56 0.02s 0.02s -bash

#当前主机已经登录了三个root用户,一个是本地终端ttyl登录,另外两个是从192.168.0.100登陆的远程登录

[root@localhost ~]# pkill -9 -t pts/1

#强制杀死从pts/1虚拟终端登陆的进程

[root@localhost ~]# w

20:09:09 up 30 min, 2 users, load average: 0.00, 0.00,0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root ttyl - 19:47 21:27 0.01s 0.01s -bash

root pts/0 192.168.0.100 19:47 0.00s 0.06s 0.00s w

#虚拟终端pts/1的登录进程已经被杀死了。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!