新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linuxpkill命令:終止進(jìn)程,按終端號(hào)踢出用戶
當(dāng)作于管理進(jìn)程時(shí),pkill 命令和 killall 命令的用法相同,都是通過(guò)進(jìn)程名殺死一類進(jìn)程,該命令的基本格式如下:

[root@localhost ~]# pkill [信號(hào)] 進(jìn)程名
表 1 羅列了此命令常用的信號(hào)及其含義。
| 信號(hào)編號(hào) | 信號(hào)名 | 含義 |
|---|---|---|
| 0 | EXIT | 程序退出時(shí)收到該信息。 |
| 1 | HUP | 掛掉電話線或終端連接的掛起信號(hào),這個(gè)信號(hào)也會(huì)造成某些進(jìn)程在沒有終止的情況下重新初始化。 |
| 2 | INT | 表示結(jié)束進(jìn)程,但并不是強(qiáng)制性的,常用的 "Ctrl+C" 組合鍵發(fā)出就是一個(gè) kill -2 的信號(hào)。 |
| 3 | QUIT | 退出。 |
| 9 | KILL | 殺死進(jìn)程,即強(qiáng)制結(jié)束進(jìn)程。 |
| 11 | SEGV | 段錯(cuò)誤。 |
| 15 | TERM | 正常結(jié)束進(jìn)程,是 kill 命令的默認(rèn)信號(hào)。 |
【例 1】
[root@localhost ~]# pkill -9 httpd <--按名稱強(qiáng)制殺死 httpd 進(jìn)程
[root@localhost ~]# pstree -p | grep httpd <-- 查看 apache 進(jìn)程,發(fā)現(xiàn)沒有了
[root@localhost ~]# service httpd start <--重新啟動(dòng) apache 進(jìn)程
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 進(jìn)程重新啟動(dòng)
- httpd (11157) -+-httpd(11159)
| |-httpd(11160)
| |-httpd(11161)
| |-httpd(11162)
| |-httpd(11163)
| |-httpd(11164)
| |-httpd(11165)
| |-httpd(11166)
[root@localhost ~]# pstree -p | grep httpd <-- 查看 apache 進(jìn)程,發(fā)現(xiàn)沒有了
[root@localhost ~]# service httpd start <--重新啟動(dòng) apache 進(jìn)程
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 進(jìn)程重新啟動(dòng)
- httpd (11157) -+-httpd(11159)
| |-httpd(11160)
| |-httpd(11161)
| |-httpd(11162)
| |-httpd(11163)
| |-httpd(11164)
| |-httpd(11165)
| |-httpd(11166)
pkill命令踢出登陸用戶
除此之外,pkill 還有一個(gè)更重要的功能,即按照終端號(hào)來(lái)踢出用戶登錄,此時(shí)的 pkill 命令的基本格式如下:
[root@localhost ~]# pkill [-t 終端號(hào)] 進(jìn)程名
[-t 終端號(hào)] 選項(xiàng)用于按照終端號(hào)踢出用戶;
學(xué)習(xí) killall 命令時(shí),不知道大家發(fā)現(xiàn)沒有,通過(guò) killall 命令殺死 sshd 進(jìn)程的方式來(lái)踢出用戶,非常容易誤殺死進(jìn)程,要么會(huì)把 sshd 服務(wù)殺死,要么會(huì)把自己的登錄終端殺死。
所以,不管是使用 kill 命令按照 PID 殺死登錄進(jìn)程,還是使用 killall 命令按照進(jìn)程名殺死登錄進(jìn)程,都是非常容易誤殺死進(jìn)程的,而使用 pkill 命令則不會(huì),舉個(gè)例子:
[root@localhost ~]# w #使用w命令查詢本機(jī)已經(jīng)登錄的用戶 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 #當(dāng)前主機(jī)已經(jīng)登錄了三個(gè)root用戶,一個(gè)是本地終端ttyl登錄,另外兩個(gè)是從192.168.0.100登陸的遠(yuǎn)程登錄 [root@localhost ~]# pkill -9 -t pts/1 #強(qiáng)制殺死從pts/1虛擬終端登陸的進(jìn)程 [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的登錄進(jìn)程已經(jīng)被殺死了
網(wǎng)站名稱:Linuxpkill命令:終止進(jìn)程,按終端號(hào)踢出用戶
分享路徑:http://www.5511xx.com/article/dppposg.html


咨詢
建站咨詢
