Sobre Linux/UNIX sistemas, si elimina un archivo que todavía tiene abierto un proceso en ejecución, el archivo no se elimina ni elimina realmente. Una vez el proceso cierra el archivo, el sistema operativo elimina el identificador del archivo y liberar el disco se bloquea. Este proceso funciona un poco diferente cuando el archivo que está abierto y eliminado está en un NFS montado sistema de archivos. Dado que el proceso que tiene el archivo abierto se ejecuta en una máquina (como una estación de trabajo en la ubicación A) y los archivos están en el servidor de archivos, tiene que haber alguna forma de que las dos máquinas comuniquen información sobre este archivo. El camino NFS esto es con el .nfsNNNNNN archivos Si intenta eliminar uno de estos archivos y el archivo aún está abierto, volverá a aparecer con un número diferente. Entonces, para eliminar el archivo por completo, debemos eliminar el proceso que lo está usando actualmente.
Nota: Estos archivos .nfsNNN generalmente son creados por el cliente nfs para sus propias funcionalidades de operación. El cliente nfs utiliza estos archivos para realizar un seguimiento de los archivos que se eliminarán cuando el cliente nfs cierre el proceso. .nfsNNN el concepto de archivos desaparecerá en NFSv4
Puede enumerar estos archivos ejecutando ‘ ls-lah ‘ desde el directorio compartido compartido nfs, el proceso debe eliminarse y ha abierto estos archivos para liberar espacio.
Si desea saber qué proceso tiene este archivo abierto, puede usar el siguiente comando lsof
$ lsof | grep -i .nfs1234
Ejemplo :
$ echo testfile > foo $ tail -f foo testfile ^Z Suspended $ rm foo $ ls -A .nfsC13B $ rm .nfsC13B $ ls -A .nfsC13B $ lsof .nfsC13B COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME tail 1182 jack 0r VREG 186,6 5 1200718 .nfsC13B%
Supongamos que creamos un archivo con el nombre «foo» en el directorio montado de nfs y luego enumeramos el contenido usando el comando tail y luego intentamos eliminar el archivo usando el comando rm. Ejecute el comando «ls -A» para enumerar el archivo .nfsNNN y si intentamos eliminar el archivo .nfsNN, el cliente nfs creará automáticamente el archivo .nfs.
Entonces, una vez que encuentre el archivo .nfsNN y desee eliminarlo permanentemente, eliminó el proceso que tiene el archivo abierto, el .nfs el archivo desaparecerá automáticamente. En el ejemplo anterior, cuando elimina el proceso de cola, es decir, PID 1182, el archivo .nfsC13B desaparecerá.
Para matar un proceso en las distribuciones de Linux, use el comando kill, así que para matar un proceso de PID 1182, ejecute el siguiente comando,
$ sudo kill -9 1182