¿OS X determina qué aplicación está accediendo a un HDD y evitando la expulsión?

17

Estoy ejecutando el servidor OS X 10.6 y quiero expulsar mi unidad externa para poder hacer un poco de mantenimiento del disco, como defraudarlo. Sin embargo, cuando trato de expulsar la unidad, falla y dice que el disco está en uso. Puedo expulsarlo a la fuerza, pero eso podría causar corrupción ... ¿Cómo puedo saber qué aplicación está usando la unidad y si la mantiene abierta?

jamone
fuente

Respuestas:

25

Intente sudo lsof | grep /Volumes/External, donde "Externo" sería el nombre de su unidad externa. ¿Está alojando datos de algún servicio fuera de esa unidad?

churnd
fuente
Solo algunas carpetas compartidas, pero sé que todos los clientes en la red habían expulsado esos recursos compartidos y todo el servidor.
jamone
No siempre importa A veces, los procesos AFP / SMB / NFS / FTP / etc. dejarán archivos abiertos solo porque el servicio se está ejecutando. La mejor opción es tratar de detener el servicio y luego expulsarlo. Eso sería mejor que usar el comando anterior junto con kill -9. Puede detener un servicio a través de la línea de comandos mediante algo como sudo serveradmin stop smb, luego, iniciarlo sudo serveradmin start smb, donde "smb" es el nombre del servicio. sudo serveradmin listles mostrará a todos.
churnd
¡Normalmente son cosas de indexación de Spotlight!
JGFMK
5

lsof - Lista de archivos abiertos

En el símbolo del sistema, simplemente escriba sudo lsofpara ver una lista de los archivos abiertos y su ubicación e identificación del proceso para que pueda eliminar el proceso.

Para refinarlo un poco, podrías usarlo sudo lsof | grep hard drive name.

Una vez que tienes el pid sudo kill -9 pidpara matar el proceso travieso.

Jon Rhoades
fuente