在 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