lsof lista com precisão todos os arquivos abertos.
O "problema" é que a maioria dos editores abre o arquivo, lê o conteúdo (em ram) e fecha o arquivo.
Os editores abrirão o arquivo ao escrever as alterações.
Para ver se algum editor está usando o arquivo, para todos os usuários, execute
ps aux | grep file name
Exemplo
Abra um teste.file com nano em um terminal.
Em outro terminal, execute os seguintes comandos:
bodhi@daemon:~$sudo lsof | grep test.file
[sudo] password for bodhi:
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
Nota: sem saída;)
Agora execute ps aux
bodhi@daemon:~$sudo ps aux | grep test.file
bodhi 4736 0.0 0.0 121096 3404 pts/3 S+ 17:49 0:00 nano test.file
Agora vemos as informações que queremos;)
nano aparece e estamos editando o arquivo test.file