¿A qué archivos se accede cuando se inicia una aplicación?

Me pregunto si hay una manera de ver a qué archivos accede una aplicación (lee o escribe) cuando se inicia.

/usr/bin/fs_usageparece una herramienta, pero me preguntaba si hay otras.

Estoy tratando de facilitar la copia de preferencias entre dos computadoras, y pensé que este era un paso que me acercaba a ese objetivo, pero estoy interesado en la pregunta por varias razones. Sé que las preferencias generalmente se mantienen en ~/Library/Preferences/y ~/Library/Application Support, pero ¿cómo averiguo qué archivos/carpetas específicamente?

Respuestas (3)

Creo que hay un par de opciones. Podría usar una launchdsecuencia de comandos con una WatchPathspropiedad que se active en esos directorios.

También puede utilizar la herramienta de línea de comandos lsofpara enumerar los archivos abiertos de un proceso.

Puede inspeccionar archivos abiertos por proceso usando Activity Monitor. Si hace clic en el proceso y luego en "Inspeccionar", debería mostrar información adicional. Una de las pestañas aquí debería ser para archivos abiertos (ver más abajo).

ingrese la descripción de la imagen aquí

Cuando tengo curiosidad por cosas como esta, recurro inmediatamente a fseventer . Es esencialmente una GUI para fs_usage, y simplemente presenta una lista de archivos a medida que se modifican/crean/eliminan. En el modo de vista de árbol predeterminado, tiene una buena jerarquía de archivos modificados y sus rutas. En la vista de árbol, puede pasar el cursor sobre un archivo o directorio con un ícono rojo (i) sobre él y ver qué aplicación lo tocó.

En la segunda pestaña (modo de cuadrícula), puede ver fácilmente qué archivos fueron modificados por una aplicación. Las capturas de pantalla de cada uno de estos están en la página de inicio de fseventer .

Hay muchas buenas opciones para adaptar la salida exactamente a lo que necesita, como cuándo (si alguna vez) los archivos deben desaparecer de la lista, varias vistas de salida y algunas más.

fseventer es gratis, se sugieren donaciones; algunas personas lo llaman "nag-ware" porque tiene que descartar un cuadro de diálogo de donación al iniciar la aplicación.

Otra opción es el opensnoopscript DTrace. Rastrea las aperturas de archivos y puede mostrar varios detalles, como la hora ( -v) y los códigos de error ( -e). También puede restringir la indagación a un proceso en particular ( -no -p). La página man (ejecutar man opensnoop) tiene todos los detalles.