xprop ... | sed ... é executado primeiro, então cat lê sua saída. Devido ao uso de backticks, a saída de cat é substituída em ps 'cat' de forma que o comando se torne ps 1000 .
Um comando alternativo que leva ao mesmo resultado é:
ps $(xprop _NET_WM_PID | cut -d= -f2)
Isso funciona da seguinte maneira:
-
Execute
xprop _NET_WM_PIDpara recuperar o ID do processo de uma janela. Depois de clicar em uma janela, ela exibe algo como:_NET_WM_PID(CARDINAL) = 12345 - Divida no
=e pegue o segundo campo.cut -d= -f2usa a string_NET_WM_PID(CARDINAL) = 12345da entrada padrão e grava12345na saída padrão. - Finalmente, execute o comando
pscom$(...)substituído pela saída de..., o comando que é executado éps 12345. (nota lateral:'...'também pode ser usada em vez de$(...), embora haja algumas diferenças )