Dizer um processo PID por sua janela?

43

Como eu posso dizer um nome de imagem de processo (para executar a partir do terminal usando sudo ) mostrando na interface do usuário do Ubuntu?

    
por Ted 16.05.2012 / 15:06

5 respostas

47

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

  

Tenho certeza de que existe uma maneira mais clara de fazer isso, mas, para sua segunda pergunta, você pode tentar:

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

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

     

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

Os "apóstrofos" que usei para cercar o gato são a tecla ~ do teclado sem pressionar a tecla shift. Isso deve lhe dar mais algumas informações sobre o assunto:

Acentos graves e o backquote

    
por Nimble 16.05.2012 / 21:19
12

Você pode tentar xprop | grep WM_CLASS e depois 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"
    
por Avio 16.05.2012 / 16:15
5

Execute este comando em um terminal:

xprop | awk '/PID/ {print }'

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

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

    
por totti 25.01.2013 / 09:55
1

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

$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
    
por Wernight 08.04.2015 / 10:33
0

Executando xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}' e clicando na janela que você deseja que o PID de imprima o PID para o terminal.

    
por ScottKu 16.05.2012 / 17:04

Tags