Ver qué proceso está usando un archivo en Mac OS X


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 activity monitor, pero creo que está sucediendo rápidamente para mí para verla. La razón de esto es que estoy usando un marco y creo que la versión del sistema del marco se está utilizando en lugar de la versión de depuración y me gustaría ver qué proceso lo está tocando.

Author: JPC, 2011-11-30

5 answers

lsof mostrará una lista de archivos abiertos, pero puede ser un poco incómodo para 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 fernLightning fseventer.app. Es "nagware", y le permite ver (gráficamente) la API de fsevents en tiempo real.

 79
Author: Shaun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-17 23:57:44

Eso es simple: sudo fs_usage | grep [path_to_file]

 70
Author: spaceboy.cz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-29 00:48:42

Pero pasé 2 minutos buscando en Google y encontré tu respuesta aquí.

$ lsof / grep [lo que sea]

Donde [lo que sea] se reemplaza con el nombre de archivo que está buscando. Con esto, puede ver qué programa está aferrándose desesperadamente a su archivo a punto de ser destrozado. Una vez que salga de ese programa, su papelera vaciar.

 37
Author: Michael Dautermann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-29 20:26:24

La forma más rápida es:

$ lsof [path_to_file]

Esta solución no requiere la contraseña de root y le devuelve el siguiente resultado claro:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg
 12
Author: bontoJR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-01 08:40:33

Otra opción es Sloth. Es una GUI gratuita de código abierto para LSOF que otros han mencionado.

 10
Author: cavalcade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-07 04:33:58