systemadmin.es > Utilidades > Buscar el directorio desde donde se ejecuta un proceso

Buscar el directorio desde donde se ejecuta un proceso

En el caso tener que encontrar un problema con strace nos podemos encontrar que la ruta con la que especifica los ficheros no es completa o se encuentra dentro de un chroot. Vamos a ver como encontrar el directorio sobre el cual se esta ejecutando un proceso (el working directory)

Un ejemplo de trazas sería el siguiente:

[pid  4370] open("named.zero", O_RDONLY) = 5
[pid  4370] open("data/named.run", O_WRONLY|O_CREAT|O_APPEND, 0666) = 5
[pid  4370] open("named.local", O_RDONLY) = 9
[pid  4370] open("named.broadcast", O_RDONLY) = 9
[pid  4370] open("named.ip6.local", O_RDONLY) = 9

Podemos usar el comando pwdx, indicándole el PID:

# pwdx $(pgrep named)
19840: /var/named/chroot/var/named

Evidentemente, la información relativa a procesos también la podemos sacar del proc viendo a donde apunta el link cwd:

# ls -l /proc/$(pgrep named)/cwd
lrwxrwxrwx 1 named named 0 Apr 30 08:47 /proc/4387/cwd -> /var/named/chroot/var/named

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>