Estoy usando masilla para conectar mi servidor Linux en el que están mis sitios. Puedo ejecutar
# ps aux | less
para mostrar procesos en ejecución. ¿Pero quiero mostrar qué archivos ejecutan estos procesos?
También he intentado
# ps aux | grep <pid>
Pero obteniendo este error:
-bash: syntax error near unexpected token `newline'
¿Cuál es la forma correcta de hacerlo?
linux
process
open-files
tshepang
fuente
fuente
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.Respuestas:
ps aux | grep <pid>
No es un comando de shell. La notación<pid>
es una convención común que significa "poner el PID allí". Por ejemplo, si el PID es 1234, correríaps aux | grep 1234
. Este no es un comando muy útil, también podrías ejecutarlops u 1234
.Tu pregunta no es muy clara. ¿Qué quiere decir con "con nombres de archivo"? Si desea ver qué ejecutable se está ejecutando el proceso 1234:
Si quieres ver qué archivos tiene abierto ese proceso:
Si desea ver la línea de comando completa con argumentos:
Si prefiere usar comandos,
lsof -p1234
muestra todos los archivos que el proceso ha abierto.ps uww 1234
muestra varios datos sobre el proceso 1234, incluida la línea de comando completa.fuente
intente ejecutar lo siguiente:
fuente
En primer lugar,
ps aux | grep <PID>
es útil cuando desea mostrar los detalles de un proceso específico cuyoPID
(Identificador de proceso) está representado por<PID>
.Por ejemplo (
ps aux | grep 'firefox\|USER'
significa imprimir solo líneas que contienenfirefox
oUSER
):Entonces, el PID para mi
firefox
instancia es 9021. Entonces, para usar el comando que está intentando ejecutar, lo reemplazaría<PID>
con9021
: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:Pude ver qué archivo se
firefox
había abierto usandops
: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 de9021
) 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):Este es el resultado en mi máquina local (el usuario
terdon
solo ejecuta dos procesos):Para obtener una explicación de la información que se muestra en
top
, vea mi respuesta a una pregunta relacionada sobre SU.fuente
Algunos caracteres bajo shell son para un propósito especial como <>? "; ...
grep PID no es útil porque PID es id de proceso y grep encontrará números numéricos similares ...
fuente