如何在 Linux 中使用 Shell 腳本終止用戶會話?
本文介紹如何終止所有用戶會話、特定的用戶回話。
終止所有用戶會話
下面的shell腳本將通過獲取用戶會話的tty值來終止所有用戶的活動會話,并使用pkill命令將其終止:
- [root@localhost ~]# vim kill-user-sessions.sh
- #!/bin/bash
- usession=$(w | awk '{if (NR!=1) {print $2 }}' | tail -n +2)
- for i in $usession
- do
- pkill -9 -t $i
- done
給腳本加上可執(zhí)行權(quán)限:
- [root@localhost ~]# chmod +x kill-user-sessions.sh
上面腳本使用w命令列出登錄系統(tǒng)的用戶,使用awk命令列出行號不等于1的行,并打印第二列,也就是終端名稱的哪一行。使用tail命令列出第2行到末行的內(nèi)容。
如何終止指定用戶的會話?
下面實例中,運行腳本后面加上用戶名,就會終止這個用戶的登錄。
- [root@localhost ~]# cat kill-specific-user-sessions.sh
- #!/bin/bash
- usession=$(w $1 | awk '{if(NR!=1) {print $2}}'|tail -n +2)
- for i in $usession
- do
- pkill -9 -t $i
- done
運行腳本測試:下面列出登錄的用戶,想終止user01的會話。
那么就運行腳本,后面參數(shù)加入用戶名:
- [root@localhost ~]# ./kill-specific-user-sessions.sh user01
然后使用w命令查看,user01會話已經(jīng)被終止了。
總 結(jié)
本文簡要介紹了如何使用Shell腳本終止用戶會話。
本文轉(zhuǎn)載自微信公眾號「 Linux就該這么學(xué)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Linux就該這么學(xué)公眾號。