如何在Linux中使用Shell脚本终止用户会话?

Posted mb60bb27dcabfcd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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

如何在Linux中使用Shell脚本终止用户会话?_可执行

脚本加上可执行权限:

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

上面脚本使用w命令列出登录系统的用户,使用awk命令列出行号不等于1的行,并打印第二列,也就是终端名称的哪一行。使用tail命令列出第2行到末行的内容。

如何在Linux中使用Shell脚本终止用户会话?_bash_02

如何终止指定用户的会话?

下面实例中,运行脚本后面加上用户名,就会终止这个用户的登录。

[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脚本终止用户会话?_awk命令_03

运行脚本测试:下面列出登录的用户,想终止user01的会话。

www.51cto.com/it/news/2020/0416/20108.html

server.51cto.com/ManageDC-519389.htm

www.51cto.com/it/news/2020/0113/18299.html

如何在Linux中使用Shell脚本终止用户会话?_用户名_04

那么就运行脚本,后面参数加入用户名:

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

然后使用w命令查看,user01会话已经被终止了。

如何在Linux中使用Shell脚本终止用户会话?_awk命令_05

总结

本文简要介绍了如何使用Shell脚本终止用户会话。

以上是关于如何在Linux中使用Shell脚本终止用户会话?的主要内容,如果未能解决你的问题,请参考以下文章

linux 用户退出怎么命令

Linux shell tail -f如何自动终止

shell编程之export

如何为用户终止所有活动和非活动的 oracle 会话

用脚本实现linux2个月前的会话日志打包备份到指定文件夹并删除

Linux系统——shell脚本编程基础介绍