Antes de tudo, ps aux | grep <PID>
é útil quando você deseja mostrar os detalhes de um processo específico cujo PID
(Identificador do Processo) é representado por <PID>
.
Por exemplo ( ps aux | grep 'firefox\|USER'
significa imprimir apenas linhas que contenham firefox
ou USER
):
ps aux | grep 'firefox\|USER'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
terdon 9021 2.5 11.8 1950888 970832 ? Sl Apr03 108:41 /opt/firefox/firefox
Portanto, o PID da minha firefox
instância é 9021. Portanto, para usar o comando que você está tentando executar, eu substituirei <PID>
por 9021
:
ps aux | grep 9021
terdon 9021 2.5 11.5 1948776 942640 ? Sl Apr03 109:03 /opt/firefox/firefox
Agora, não sei ao certo o que você quer dizer com "exibir quais arquivos estão executando esses processos". Se você quer mostrar quais arquivos esses processos estão usando, ps aux
é uma maneira de fazê-lo. Digamos que abri o arquivo /usr/share/doc/nano/faq.html
usando este comando:
firefox /usr/share/doc/nano/faq.html
Pude ver qual arquivo firefox
foi aberto usando ps
:
ps aux | grep firefox
terdon 31763 18.7 1.0 682916 84352 pts/10 Sl+ 17:10 0:02 firefox /usr/share/doc/nano/faq.html
O arquivo aberto é mostrado como um dos argumentos passados para o Firefox. Observe que o PID é diferente (agora é em 31763
vez de 9021
), porque todo programa em execução possui seu próprio PID exclusivo.
Outro comando útil é top
. Se você executá-lo com a -c
opção, ele mostrará os argumentos passados para um comando e, com -u <your user>
ele, mostrará apenas os processos iniciados pelo seu nome de usuário (substitua <your user>
pelo seu nome de usuário real):
top -c -u terdon
Esta é a saída na minha máquina local (o usuário terdon
está executando apenas dois processos):
top - 17:14:41 up 3 days, 49 min, 14 users, load average: 0.48, 0.54, 0.55
Tasks: 228 total, 1 running, 226 sleeping, 0 stopped, 1 zombie
%Cpu(s): 7.1 us, 5.5 sy, 0.0 ni, 86.5 id, 0.0 wa, 0.0 hi, 0.9 si, 0.0 st
KiB Mem: 8187940 total, 8007220 used, 180720 free, 349264 buffers
KiB Swap: 8191996 total, 5556 used, 8186440 free, 4173004 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
31573 terdon 20 0 24900 5576 1684 S 0.0 0.1 0:00.20 bash
31763 terdon 20 0 666m 77m 28m S 0.0 1.0 0:02.39 firefox /usr/share/doc/nano/faq.html
Para uma explicação das informações mostradas por top
, consulte minha resposta a uma pergunta relacionada sobre SU.
grep <pid>
, você é suposto para substituir<pid>
com o seu ID de processo real (é um número).<pid>
é apenas um espaço reservado, não algo que você realmente deve digitar.