我正在使用的机器有许多活动的 X 显示器(一台标准 X 服务器和许多 VNC 显示器)。它还运行一些 GUI 应用程序,这些应用程序显示在 X 显示器上。
假设我有PID(使用ps
),有没有一种方法可以确定进程正在使用哪个X屏幕,甚至是DISPLAY
启动时变量所保存的值?
如果有一种方法可以显示DISPLAY
进程及其所有子进程的值,那就更好了,以防某些进程将其 GUI 作为子进程生成。
答案1
如果您有root
访问权限(或sudo ps
),则可以使用该选项显示进程的环境e
。在此处您应该能够看到该DISPLAY
变量(如果已设置)。您可能需要ww
确保输出不会被截断。
例如
% ps wwep $$ | tr ' ' '\012' | grep DISPLAY
DISPLAY=:0
所以我当前的 shell 正在与:0
.
许多操作系统会保护环境免受其他用户的影响(因为它可能会泄露敏感信息),因此普通用户只能看到自己的进程环境。 root
可以看到每个用户的。