Niveau :
Résumé : lsof | grep delete
Parfois, on tombe devant le cas suivant : un logiciel quelconque vous indique une erreur de type "not enough space on disk". On regarde alors l'espace libre :
$ df -h
Et bizarrement, on constate qu'il reste encore beaucoup de place sur le disque.
Sous unix, toutes les opérations sur les fichiers sont permises même si le fichier est déjà ouvert. Grâce à cela, une application ne peut pas en bloquer d'autres en lisant le mauvais fichier. Ainsi il est possible de supprimer un fichier alors qu'il est en cours d'utilisation par une application. Mais l'application elle même ne s'en rend pas compte car seule la référence au fichier a été supprimée.
Donc une application qui détiendrait de très gros fichiers ouverts peut remplir le système de fichier sans que l'utilisateur ne s'en rende compte. Lisons tous les fichiers dans ce cas avec la commande lsof :
$ lsof | grep delete
Et au passage vous avez l'application fautive, vous pouvez la tuer si besoin (le PID est le 2e champ).
Note : Créer un fichier et l'effacer tout en le gardant ouvert est une technique parfois utilisée pour protéger ses fichiers temporaires de certaines attaques, ou pour garantir que ceux-ci seront automatiquement effacés même si l'application plante.
Comments