如何在Linux中使用Shell指令碼終止使用者會話?

roc_guo發表於2021-03-01
本文介紹如何終止所有使用者會話、特定的使用者回話。
終止所有使用者會話

下面的 將通過獲取使用者會話的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

如何在Linux中使用Shell指令碼終止使用者會話?如何在Linux中使用Shell指令碼終止使用者會話?
給 加上可執行許可權:

[root@localhost ~]# chmod +x kill-user-sessions.sh

上面指令碼使用 w 列出登入系統的使用者,使用 awk命令列出行號不等於1的行,並列印第二列,也就是終端名稱的哪一行。使用 tail命令列出第2行到末行的內容。
如何在Linux中使用Shell指令碼終止使用者會話?如何在Linux中使用Shell指令碼終止使用者會話?

如何終止指定使用者的會話?

下面例項中,執行指令碼後面加上使用者名稱,就會終止這個使用者的登入。

site.qudong.com/2016/0229/304567.shtml

[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

如何在Linux中使用Shell指令碼終止使用者會話?如何在Linux中使用Shell指令碼終止使用者會話?
執行指令碼測試:下面列出登入的使用者,想終止user01的會話。
如何在Linux中使用Shell指令碼終止使用者會話?如何在Linux中使用Shell指令碼終止使用者會話?
那麼就執行指令碼,後面引數加入使用者名稱:

[root@localhost ~]# ./kill-specific-user-sessions.sh user01

然後使用 w命令檢視,user01會話已經被終止了。
如何在Linux中使用Shell指令碼終止使用者會話?如何在Linux中使用Shell指令碼終止使用者會話?

總結

本文簡要介紹瞭如何使用Shell指令碼終止使用者會話。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2844214/,如需轉載,請註明出處,否則將追究法律責任。

相關文章