了解当前存在多少SSH连接

Chr*_*pie 7 linux bash shell

我在Linux服务器上使用一个简单的Shell脚本,如果rsync-job正在运行,或者任何客户端通过Samba从服务器检查某些目录.如果是这种情况,那么没有任何事情发生,但没有工作,也没有使用Samba,而不是服务器进入休眠状态.

有没有简单的命令,我可以用它来检查是否存在与服务器的ssh连接?我想将它添加到我的Shell脚本中,以便服务器不会进入休眠状态,如果存在这样的连接.

Tim*_*lla 11

扫描进程列表sshd:.已建立的连接看起来像这样:sshd: <username>…

ps -A x |grep sshd |grep -v grep
Run Code Online (Sandbox Code Playgroud)

应该为你工作.

  • 你可以避免额外的grep,ps -A x | grep [s] shd (3认同)

exu*_*sum 8

使用who命令

它给出了类似的输出

username  pts/1        2013-06-19 19:51 (ip)
Run Code Online (Sandbox Code Playgroud)

您可以解析它以查看添加了多少非本地人并获取其用户名(或者有man who更多信息可供选择

给出了有多少非localhost用户的计数

who | grep -v localhost | wc -l
Run Code Online (Sandbox Code Playgroud)