En primer lugar, ps aux | grep <PID>
es útil cuando desea mostrar los detalles de un proceso específico cuyo PID
(Identificador de proceso) está representado por <PID>
.
Por ejemplo ( ps aux | grep 'firefox\|USER'
significa imprimir solo líneas que contienen firefox
o 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
Entonces, el PID para mi firefox
instancia es 9021. Entonces, para usar el comando que está intentando ejecutar, lo reemplazaría <PID>
con 9021
:
ps aux | grep 9021
terdon 9021 2.5 11.5 1948776 942640 ? Sl Apr03 109:03 /opt/firefox/firefox
Ahora, no estoy seguro de lo que quiere decir con "mostrar qué archivos ejecutan estos procesos". Si quiere decir qué archivos están utilizando estos procesos, ps aux
es una forma de hacerlo. Digamos que he abierto el archivo /usr/share/doc/nano/faq.html
con este comando:
firefox /usr/share/doc/nano/faq.html
Pude ver qué archivo se firefox
había abierto 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
El archivo abierto se muestra como uno de los argumentos pasados a Firefox. Tenga en cuenta que el PID es diferente (ahora es en 31763
lugar de 9021
) eso se debe a que cada programa en ejecución tiene su propio PID único.
Otro comando útil es top
. Si lo ejecuta con el -c
interruptor, mostrará los argumentos pasados a un comando, y con -u <your user>
él solo mostrará los procesos iniciados por su nombre de usuario (reemplace <your user>
con su nombre de usuario real):
top -c -u terdon
Este es el resultado en mi máquina local (el usuario terdon
solo ejecuta dos procesos):
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 obtener una explicación de la información que se muestra en top
, vea mi respuesta a una pregunta relacionada sobre SU.
grep <pid>
, se supone que debes reemplazar<pid>
con tu ID de proceso real (es un número).<pid>
es solo un marcador de posición, no es algo que realmente deba escribir.