Diga a um processo PID por sua janela?


Respostas:


57

De acordo com sua solicitação na outra pergunta, aqui está minha resposta novamente:

Tenho certeza de que existe uma maneira mais limpa de fazê-lo, mas para sua segunda pergunta, você pode tentar o seguinte:

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

Isso fará do seu cursor uma cruz com a qual você pode clicar em uma janela aberta. Ele informará o PID e o comando no terminal em que o executou.

Em geral, xprop e xwininfo fornecerão muitas informações sobre uma janela aberta.

Os "apóstrofes" que eu usei para o gato ao redor são a tecla ~ no meu teclado sem pressionar Shift. Isso deve lhe dar mais algumas informações sobre o assunto:

Acentos graves e citação retroativa


xprop diz: _NET_WM_PID: não encontrado. Este método não é infalível suficiente ...
Calmarius

5
Isto é mais fácil de lembrar: xprop | grep PID(embora só imprime a identificação do processo)
KajMagnus

Essa resposta me lembrou que eu já tinha um miniaplicativo de canela fazendo exatamente isso na minha barra de tarefas, do qual havia esquecido totalmente. Uau. Obrigado por isso, pelo menos!
Fabian Röling

16

Você pode tentar xprop | grep WM_CLASSe clicar na janela em que está interessado.

Exemplos:

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

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

9

Execute este comando em um terminal:

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

O ponteiro do mouse será substituído por uma mira; selecione a janela em que está interessado.

Este método mostra apenas o PID do processo que possui essa janela (que parece ser o que você deseja).


2

Você pode obter informações do processo usando:

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

0

Executar xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'e clicar na janela da qual você deseja o PID imprimirá o PID no terminal.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.