从窗口获取进程信息的简便方法

从窗口获取进程信息的简便方法

在 Windows 上,我可以使用 Process Explorer 并将其十字线拖到窗口,然后 Process Explorer 会突出显示相关的进程。

在 Ubuntu 上,我在系统监视器中没有找到这样的功能。有什么简单的方法可以从窗口获取进程?

我愿意下载替代的进程监视器或其他工具。

答案1

如果你可以使用终端,请尝试以下操作:

xprop | grep WM_CLASS

并且您的光标将变成十字形,允许您单击任何窗口以获取其进程名称。如果您只需要 PID,请尝试:

xprop | awk '/PID/ {print $3}'

希望这可以帮助。

答案2

使用xprop已经提到在另一个答案中这可能是最好的解决方案。

另一种方法可能是wmctrl -lp列出窗口管理器管理的所有窗口及其各自的进程 ID(PID):

$ wmctrl -lp
0x03a00002  0 1570   type40mark3 XdndCollectionWindowImp
0x03a00003  0 1570   type40mark3 unity-launcher
0x03a00004  0 1570   type40mark3 unity-panel
0x03a00005  0 1570   type40mark3 unity-dash
0x03a00006  0 1570   type40mark3 Hud
0x02c0000a -1 302    type40mark3 Desktop
0x08a00003  0 8861   type40mark3 18.04 - Easy way to get process from window - Ask Ubuntu - Mozilla Firefox
0x08a00033  0 8861   type40mark3 Some other site in a different window - Mozilla Firefox
0x0840b72c  0 20705  type40mark3 bytecommander@type40mark3: ~
0x08800001  0 7389   type40mark3 New Tab - Chromium

然后你可以使用这个 PID 来获取有关该进程的更多信息,例如ps aux -q YOUR_PID_HERE

$ ps aux -q 20705
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
bytecom+ 20705  0.0  0.2 676820 32268 ?        Sl   Jun28   1:58 /usr/lib/gnome-terminal/gnome-terminal-server

相关内容