Answers:
如果可以使用终端,请尝试以下操作:
xprop | grep WM_CLASS
并且光标应变成十字形,允许您单击任何窗口以获取其进程名称。如果只需要PID,请尝试:
xprop | awk '/PID/ {print $3}'
希望这可以帮助。
在其他答案中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
grep
并不是必须的,您可以给一个属性名称作为参数,使其仅xprop WM_CLASS
直接显示该名称。请注意,尤其WM_CLASS
不必与进程可执行文件相同,它可以是开发人员设置的任意值。