我正在探索建立一个内部网站,显示实验室中目前正在使用的计算机。我最初的想法是开发一个 Web 应用程序,每 5-10 分钟从每台计算机获取一次信息,然后显示这些信息。我想知道是否有一种好的方法可以获取计算机的状态(如果已登录,当前正在运行什么程序)?这可以在 shell 级别完成吗?(例如,某种 chron 作业,或在某人登录时运行的脚本)。
答案1
自从我上次检查(10.6.5ish)以来,情况可能发生了变化,但运行 Dock 的用户通常可以很好地表明他/她已登录:
ps aux | grep Dock
您可以通过运行以下命令获取正在运行的应用程序列表:
ps aux | grep /Applications/
这有点弱,因为有些应用程序在 /Applications 文件夹之外运行。