vérifier si le fichier est ouvert avec lsof

J’utilise linux mint 13 xfce et j’ai un fichier nommé wv.gold que j’essaye de vérifier en bash s’il est ouvert par n’importe quel programme (par exemple, je l’ai ouvert dans sublime-text et gedit )

Dans de nombreux forums, les gens disent que si je lance lsof | grep filename lsof | grep filename Je devrais obtenir 0 s’il est ouvert ou 256(1) s’il est fermé, mais en fait je ne reçois rien (chaîne vide) si j’utilise grep "wv.gold" , et obtenez une petite liste si je le fais en utilisant grep gold

La liste est quelque chose comme:

 bash 2045 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir bash 2082 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir watch 4463 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir gedit 16679 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir lsof 20823 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir grep 20824 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir lsof 20825 user cwd DIR 8,1 4096 658031 /home/user/path/to/dir 

Ainsi, j’obtiens le chemin d’access au répertoire, mais ce n’est PAS le chemin du fichier (il y a d’autres fichiers) et de toute façon uniquement pour le processus de gedit , pas pour le processus de sublime-text .

Existe-t-il un moyen facile de voir si un fichier txt est ouvert par un autre programme?

EDIT : Il s’avère (cf. les commentaires de @mata et @ctn) que certains éditeurs chargent des fichiers et les ferment immédiatement, et ils rouvrent simplement le fichier lors de sa sauvegarde. De cette façon, nous ne pouvons que le voir quand ils ouvrent encore un gros fichier (puisque vous avez le temps de l’observer en l’ouvrant) et il disparaît immédiatement après.

Les lignes qui apparaissent dans la sortie de lsof sont des fichiers ouverts. Si votre fichier n’est pas là, cela signifie qu’il n’est pas ouvert. Parmi les colonnes figurent PID (l’identifiant du processus du programme ouvert) et le FD (le descripteur de fichier associé au fichier ouvert). Aucune valeur particulière pour ceux-ci n’indique ouvert / fermé. S’il apparaît du tout, cela signifie qu’il est ouvert.

Découvrez http://linux.die.net/man/8/lsof et la recherche du texte contains the first nine characters