Em um sistema Windows Server 2012 R2, um programa Kotlin usa FileChannel.tryLock()
para manter um bloqueio exclusivo em um arquivo, como este:
val fileRw = RandomAccessFile(file, "rw")
fileRw.channel.tryLock()
Com esse bloqueio, não consigo abrir o arquivo com:
- Prancheta
- Notepad ++
Programaticamente com C #, para qualquer valor de
FileShare
:using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var textReader = new StreamReader(fileStream)) { textReader.ReadToEnd(); }
Na linha de comando, o
type
comando:C:\some-directory>type file.txt The process cannot access the file because another process has locked a portion of the file.
Internet Explorer (sim, eu estava desesperado)
Eu posso abri-lo com o bloco de notas.
Como diabos o Bloco de Notas é capaz de abrir um arquivo bloqueado que nada mais pode?
fonte