如何在 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í)行權限:
[root@localhost ~]# chmod +x kill-user-sessions.sh
上面腳本使用w命令列出登錄系統(tǒng)的用戶,使用awk命令列出行號不等于1的行,并打印第二列,也就是終端名稱的哪一行。使用tail命令列出第2行到末行的內容。

如何終止指定用戶的會話?
下面實例中,運行腳本后面加上用戶名,就會終止這個用戶的登錄。
[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)被終止了。

總 結
本文簡要介紹了如何使用Shell腳本終止用戶會話。
評論
圖片
表情


