首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算使用linux命令按用户分组的用户会话?

如何计算使用linux命令按用户分组的用户会话?
EN

Stack Overflow用户
提问于 2015-01-13 04:09:55
回答 1查看 3K关注 0票数 1

如何计算使用Linux命令按用户分组的用户会话?

我有一个运行在Linux操作系统上的应用程序。要使用应用程序,用户启动终端并使用他们的Linux帐户登录,然后提示他们输入应用程序登录菜单,然后输入应用程序登录凭据。

我的问题是,当用户使用完该应用程序并注销时,他们的Linux会话仍然处于活动状态。所以每次我都要运行命令

代码语言:javascript
复制
killall -u [Linux username]

对于具有3个以上活动会话的用户。

我用了命令

代码语言:javascript
复制
w | sort 

为了获得一个用户列表,但是我在网上找不到任何帮助,说明如何根据Linux用户名对列表进行分组。

我打算根据用户名对输出列表进行分组,然后用3行以上的用户名计数,然后运行

代码语言:javascript
复制
killall -u [username]

我认为许多人可能会发现知道一个特定用户名(userid)有多少会话是有效的,因为这些会话可能会降低机器的总体性能。在我的例子中,每次活动会话建立时,承载应用程序的机器的响应时间都会恶化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 04:23:35

尝试:

代码语言:javascript
复制
w | sed '1,2d' | cut -f1 -d' ' | sort | uniq -c

这将返回每个用户一行,其中包含每个用户会话的#。例如:

代码语言:javascript
复制
       1 root
      15 sa
       2 superuser
       1 user1
       3 user2

在这种情况下,用户sa有15个会话,user2有3个会话。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27914737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档