Скажіть PID процесу через його вікно?


Відповіді:


57

На ваш запит щодо іншого питання, ось моя відповідь ще раз:

Я впевнений, що існує більш чистий спосіб зробити це, але для другого питання ви можете спробувати це:

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

Це зробить ваш курсор хрестом, за допомогою якого ви можете натиснути на відкрите вікно. Він повідомить про PID та команду в терміналі, в якому ви його запустили.

Загалом, xprop та xwininfo нададуть вам багато інформації про відкрите вікно.

"Апострофи", які я використовував для оточуючої кішки, - це клавіша ~ на моїй клавіатурі без натискання клавіші. Це має дати вам більше інформації про цю тему:

Мовні акценти та зворотна цитата


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.