Простой способ получить информацию о процессе из окна

18

В Windows я могу использовать Process Explorer и перетащить его перекрестие в окно, затем Process Explorer выделяет связанный процесс.

В Ubuntu я не нашел такой функции в системном мониторе. Какой самый простой способ получить процесс из окна?

Я открыт для загрузки альтернативного монитора процесса или других инструментов.

Gqqnbig
источник

Ответы:

19

Если вы можете использовать терминал, попробуйте это:

xprop | grep WM_CLASS

и ваш курсор должен превратиться в крест, что позволит вам щелкнуть любое окно, чтобы получить имя процесса. Если вам нужен только PID, попробуйте:

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

Надеюсь это поможет.

Абхишек Наир
источник
6
grepна самом деле не является необходимым, вы можете дать имя свойства в качестве аргумента, чтобы показать только это, как xprop WM_CLASSнапрямую. Обратите внимание, что, в частности WM_CLASS, необязательно должно быть то же самое, что и исполняемый файл процесса, это может быть произвольное значение, установленное разработчиком.
Byte Commander
Это работает как шарм, спасибо.
Gqqnbig
13

Использование xpropуже упоминалось в этом другом ответе и, вероятно, лучшее решение.

Другим способом может быть использование wmctrl -lpсписка всех окон, управляемых вашим оконным менеджером, вместе с их соответствующими идентификаторами процессов (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
Byte Commander
источник
Спасибо, что поделились этой командой. Мне больше нравится другой визуальный способ. Иногда окно не имеет строки заголовка или без борадов, я не могу точно сказать из этого списка, заданного wmctrl.
Gqqnbig