Seguimiento de dónde un demonio intenta encontrar su archivo de configuración

Seguimiento de dónde un demonio intenta encontrar su archivo de configuración

He instalado un demonio en un sistema kubuntu que intenta encontrar un archivo de configuración específico en una ubicación desconocida. Literalmente he llenado el sistema de archivos con enlaces simbólicos al archivo de configuración, pero aún así aparece el mensaje "archivo no encontrado".

¿Hay algún comando que pueda escribir que registre todos los intentos de acceder a archivos inexistentes en el disco duro, para poder encontrar dónde intenta buscar su archivo?

Respuesta1

Podrías usar strace en el proceso si conoces su PID:

strace -f -p 123 | tee testoutput.txt

(asumiendo un pid de 123). La "-f" significa "seguir bifurcaciones" (en simplificación), "-p" dice "PID sigue". Ver man stracepara más detalles. En pocas palabras, strace rastrea todas las acciones que intenta el proceso, por ejemplo, abrir archivos, leerlos o escribirlos. Lo mejor es redirigir el resultado a un archivo para su análisis; en mi ejemplo, esto se logra canalizándolo a T, lo que divide el resultado que se mostrará en la consola y también se escribirá en el archivo especificado.

En la salida, busque algo como

read(51, 0x7f287a7b36f0, 4096)          = -1 EAGAIN (Resource temporarily unavailable)

(Sí, ese es el error incorrecto, pero el único que pude encontrar por ahora), entonces, readseguido de algo entre paréntesis, luego algunos espacios seguidos de un "=" y un número negativo (= error). Supongo que deberías encontrar algo como "ENOTFOUND" para indicar el archivo que falta (no sé el código de error exacto).

información relacionada