GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo determinar qué proceso está creando un archivo?

Esta pregunta ya tiene respuestas aquí :¿Es posible averiguar qué programa o script creó un archivo determinado?

(6 respuestas)
Cerrado hace 4 años.

Dada la ruta del archivo, ¿cómo puedo determinar qué proceso lo crea (y/o lee/escribe en él)?

Respuesta aceptada:

El lsof El comando (ya mencionado en varias respuestas) le dirá qué proceso tiene un archivo abierto en el momento en que lo ejecuta. lsof está disponible para casi todas las variantes de Unix.

lsof /path/to/file

lsof no le informará sobre el archivo que se abrió hace dos microsegundos y se cerró hace un microsegundo. Si necesita ver un archivo en particular y reaccionar cuando se accede a él, necesita otras herramientas.

Si puede planificar con un poco de anticipación, puede poner el archivo en un LoggedFS sistema de archivos LoggedFS es un sistema de archivos apilados FUSE que registra todos los accesos a los archivos en una jerarquía. Los parámetros de registro son altamente configurables. FUSE está disponible en todos los principales unices. Deberá registrar los accesos al directorio donde se crea el archivo. Comience con el archivo de configuración de muestra provisto y modifíquelo de acuerdo con esta guía.

loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory
tail -f /path/to/log_file

Muchos unices ofrecen otras facilidades de monitoreo. Bajo Linux, puede usar el subsistema de auditoría relativamente nuevo. No hay mucha literatura al respecto (pero más que sobre logfs); puede comenzar con este tutorial o algunos ejemplos o simplemente con auditctl página de manual Aquí, debería ser suficiente para asegurarse de que el demonio esté iniciado, luego ejecute auditctl :

auditctl -w /path/to/file

(Creo que los sistemas más antiguos necesitan auditctl -a exit,always -w /path/to/file ) y observe los registros en /var/log/audit/audit.log .


Linux
  1. Cómo determinar qué proceso está escribiendo en el disco en Linux

  2. ¿Cómo determino si el sistema de archivos distingue entre mayúsculas y minúsculas en .net?

  3. Cómo redirigir la salida de un proceso que ya se está ejecutando

  4. Cómo grep \n en el archivo

  5. ¿Cómo puedo determinar qué proceso en ejecución está usando Java?

Comando de archivo de Linux:cómo determinar el tipo de archivo en Linux

Cómo determinar el tipo MIME de un archivo en Linux

¿Cómo eliminar un archivo cuyo nombre de archivo tiene caracteres no imprimibles?

¿Cómo identificar un proceso que no tiene Pid?

Cómo usar el comando lsof en Linux

¿Determinar en qué grupo(s) se encuentra un proceso en ejecución?