Powiedz procesowi PID po oknie?

54

Jak rozpoznać nazwę obrazu procesu (uruchamianego z terminala za pomocą sudo) wyświetlaną w interfejsie użytkownika Ubuntu?

Przetrząsać
źródło
1
Spójrz tutaj: stackoverflow.com/questions/2041532/…
sulaweyo

Odpowiedzi:

57

Na twoją prośbę dotyczącą drugiego pytania, oto moja odpowiedź ponownie:

Jestem pewien, że jest na to lepszy sposób, ale w przypadku drugiego pytania możesz spróbować:

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

To sprawi, że kursor stanie się krzyżem, za pomocą którego możesz kliknąć otwarte okno. Raportuje PID i komendę w terminalu, w którym go uruchomiłeś.

Ogólnie rzecz biorąc, xprop i xwininfo dostarczą ci wielu informacji na temat otwartego okna.

„Apostrofy”, których użyłem do otaczania kota, to klawisz ~ na mojej klawiaturze, bez naciskania klawisza Shift. To powinno dać ci więcej informacji na ten temat:

Grave Accents i backquote

Zwinny
źródło
xprop mówi: _NET_WM_PID: nie znaleziono. Ta metoda nie jest wystarczająco niezawodna ...
Calmarius
5
Łatwiej jest to zapamiętać: xprop | grep PID(chociaż drukuje tylko identyfikator procesu)
KajMagnus,
Ta odpowiedź przypomniała mi, że już miałem aplet Cynamonowy, który właśnie to robił w moim pasku zadań, o czym całkowicie zapomniałem. Łał. Dzięki przynajmniej za to!
Fabian Röling
16

Możesz spróbować, xprop | grep WM_CLASSa następnie kliknąć okno, które Cię interesuje.

Przykłady:

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

#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gcalctool", "Gcalctool"
Avio
źródło
9

Uruchom to polecenie w terminalu:

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

Wskaźnik myszy zostanie zastąpiony krzyżykiem; wybierz okno, które Cię interesuje.

Ta metoda pokazuje tylko PID procesu, który jest właścicielem tego okna (które wydaje się być tym, czego chcesz).

Totti
źródło
2

Możesz uzyskać informacje o procesie, używając:

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
Wernight
źródło
0

Uruchomienie xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'i kliknięcie okna, w którym chcesz ustawić PID, spowoduje wydrukowanie PID na terminalu.

ScottKu
źródło