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


54

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


1
Посмотрите здесь: stackoverflow.com/questions/2041532/…
sulaweyo

Ответы:


57

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

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

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

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

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

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

Могильные Акценты и обратная цитата


xprop говорит: _NET_WM_PID: не найдено. Этот метод недостаточно
надежен

5
Это легче запомнить: xprop | grep PID(хотя он печатает только идентификатор процесса)
KajMagnus

Этот ответ только напомнил мне, что у меня уже был апплет Cinnamon, делающий именно это в моей панели задач, о которой я полностью забыл. Ух ты. По крайней мере, спасибо за это!
Фабиан Релинг

16

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

Примеры:

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

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gcalctool", "Gcalctool"

9

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

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

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

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


2

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

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')

0

xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'После запуска и щелчка по окну, для которого вы хотите указать PID, PID будет выведен на терминал.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.