Me gustaría poder rastrear un archivo y ver qué proceso está tocando ese archivo. ¿Es eso posible? Sé que puedo ver la lista de procesos abiertos en el monitor de actividad, pero creo que está sucediendo muy rápido para que pueda verlo. La razón de esto es que estoy usando un marco y creo que se está usando la versión del sistema del marco en lugar de la versión de depuración y me gustaría ver qué proceso lo está tocando.
93
Respuestas:
lsof
mostrará una lista de los archivos abiertos, pero puede ser un poco incómodo para los toques momentáneos (por ejemplo, si el archivo no está abierto cuando se ejecuta lsof, no se muestra).Creo que su mejor apuesta sería fseventer.app de fernLightning . Es "nagware" y le permite ver (gráficamente) la API de fsevents en tiempo real.
fuente
lsof | grep myfilename
trabajó para mi. Tengo un archivo PDF en mi Papelera que el sistema afirma que está en uso. Extrañamentelsof
afirma que está en uso,Preview
peroPreview
parece que no se está ejecutando (por ejemplo, cuando presiono la pestaña de comando a través de las aplicaciones en ejecución) peroActivity Monitor
muestra que se está ejecutando. Vista previa estúpida.Así de simple:
sudo fs_usage | grep [path_to_file]
fuente
sudo fs_usage | grep musiclibrary
no mostró nada, perosudo lsof | grep musiclibrary
mostró 3 procesos accediendo a los archivos de la base de datos de mi biblioteca de música.Pero pasé 2 minutos buscando en Google y encontré tu respuesta aquí .
fuente
La forma más rápida es:
Esta solución no requiere la contraseña de root y le devuelve el siguiente resultado claro:
fuente
Otra opción es Sloth . Es una GUI gratuita de código abierto para LSOF que otros han mencionado.
fuente