我需要在一台只能远程访问但也可用作工作站的机器上运行一些计算。有很多这样的机器,我想选一台“免费”的。免费在这种情况下意味着没有人在本地登录。
我第一次尝试的是who
命令,但出于某种原因,它只列出了“选定”的用户,而我却无法真正找出他们是如何被选中的。下一次尝试::ps aux | cut -d " " -f1 | sort | uniq
更好地显示一群恶魔,以及未显示的本地用户who
。
我当前的解决方案是进入并执行,ps aux | grep "gnome-session"
这虽然更好,但仍然会给我带来很多垃圾。理想情况下,我正在寻找可以包含在 ssh 配置文件中的内容,以便在我登录时警告我有关(活动)本地用户的信息。
编辑:
- 也没有
who
返回w
本地用户。这是一种意外行为吗? uptime
另一方面向我展示了正确数量的用户(本地和远程减去 root 等系统用户)finger
未安装
答案1
使用w
从瓦手册页:
显示谁登录了以及他们正在做什么。
输出示例:
$ w
09:15:10 up 43 min, 2 users, load average: 0.74, 0.38, 0.24
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
kucing tty7 :0 08:32 43:15m 57.73s 0.18s x-session-manager
kucing pts/0 :0.0 08:48 0.00s 0.24s 0.00s w´
答案2
该finger
命令是否已安装?如果没有,可能是吗?这应该列出所有已登录的用户以及从哪里登录(即另一台计算机,或直接登录到该计算机),还应该告诉您该用户闲置了多长时间。
查看ubuntu 手指手册页了解更多信息。
答案3
我会选择:
who | cut -d' ' -f1 | sort | uniq
这将显示以下列表真实的用户。如果列表为空 - 机器处于注销状态,等待某人登录。
ps aux
还会显示一些系统用户,您可能不想看到这些用户。
答案4
考虑只为您的计算设置最高优先级。应避免占用可能登录的任何其他用户的资源。
nice -n 19 your_calculation_command