San*_*hal 3 linux bash gnu-screen
我想要一个在我的 Linux 系统上活动的所有用户的列表,包括那些运行但分离屏幕会话的用户。该who命令仅显示我当前登录的用户,而不显示具有分离屏幕会话等的用户。
我正在考虑解析 的输出,ps但这也会让用户显示他是否正在运行 cron 作业。
尝试:
$ ps axno user,tty | awk '$1 >= 1000 && $1 < 65530 && $2 != "?"' | sort -u
Run Code Online (Sandbox Code Playgroud)
这应该会告诉您所有带有会话终端(如屏幕中的窗口)的进程的 UID。我使用 UID 来清除“系统”用户(如 apache)和 nobody(高 UID),并忽略守护进程。