我想编写一个 bash 脚本,它将每 5 分钟与 cron 一起运行一次,以检查是否有任何活动用户登录,如果没有活动用户登录,它将关闭。我想出了这个:
#!/bin/bash
u=`users`;
l=${#u};
if [ $l -lt 2 ]
then
halt
fi
Run Code Online (Sandbox Code Playgroud)
并且想知道这是否会这样做,或者users
在最后一个断开连接后是否会返回一些意想不到的东西。
附加信息:
我意识到了其他事情:我刚刚在家里运行的系统上尝试了这个Arch
,我得到了以下信息:
[ron@osboxes ~]$ users
[ron@osboxes ~]$ who
[ron@osboxes ~]$
Run Code Online (Sandbox Code Playgroud)
怎么会这样?很明显,我是一个积极登录的用户,不是吗?
小智 6
它应该是一个评论,但我没有 50 代表点,所以我会失去更多,将此评论作为答案发布:)
如果您每五分钟运行一次此脚本,您的服务器可能会在启动时关闭,甚至还没有登录。所以不是一个好主意。编写一个系统定时器。