Скажите PID процесса по его окну?

Как определить имя образа процесса (для запуска из терминала с помощью sudo), отображаемого в пользовательском интерфейсе Ubuntu?

54
задан 8 April 2015 в 11:44

5 ответов

На ваш запрос по другому вопросу, вот мой ответ снова:

Я уверен, что есть более чистый способ сделать это, но для вашего второго вопроса вы можете попробовать это: [ 113]

   xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' | ps `cat`

Это сделает ваш курсор крестиком, с помощью которого вы можете щелкнуть в открытом окне. Он сообщит PID и команду в терминале, в котором вы его запустили.

В общем, xprop и xwininfo предоставят вам много информации об открытом окне.

«Апострофы», которые я использовал для окружающего кота, - это клавиша ~ на моей клавиатуре без нажатия клавиши Shift. Это должно дать вам больше информации по этому вопросу:

Могильные Удары и обратная цитата

0
ответ дан 8 April 2015 в 11:44

Вы можете попробовать xprop | grep WM_CLASS, а затем нажать на интересующее вас окно.

Примеры:

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gedit", "Gedit"

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gcalctool", "Gcalctool"
0
ответ дан 8 April 2015 в 11:44

Вы можете получить информацию о процессе, используя:

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
0
ответ дан 8 April 2015 в 11:44

Запустите эту команду в терминале:

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

Ваш указатель мыши будет заменен перекрестием; выберите интересующее вас окно.

Этот метод показывает только PID процесса, которому принадлежит это окно (которое, кажется, то, что вы хотите).

0
ответ дан 8 April 2015 в 11:44

Запуск xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}' и нажатие на окно, в котором вы хотите PID, распечатает PID на терминал.

0
ответ дан 8 April 2015 в 11:44