Un fichier process.id est verrouillé par un processus sur Windows Server 2012 R2.
Je ne peux pas ouvrir avec:Notepad les bat tous?
- Wordpad,
- Notepad ++,
programmation en C# en utilisant différentes valeurs de FileSharing,
using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var textReader = new StreamReader(fileStream)) { String processIdString = textReader.ReadToEnd(); node.processId = Convert.ToInt32(processIdString); }
"type" de la commande ligne:
C:\some-directory> type process.id The process cannot access the file because another process has locked a portion of the file.
IE (Oui, j'étais désespéré)
Je peux l'ouvrir avec le Bloc-notes
Comment le diable est le Bloc-notes capable d'ouvrir un fichier verrouillé que rien d'autre ne peut?
Modifier
Le fichier code de verrouillage est Kotlin/java en utilisant tryLock from FileChannel
val pidFileRw = RandomAccessFile(pidFile, "rw")
val pidFileLock = pidFileRw.channel.tryLock()
Fondamentalement, il est demande un verrou exclusif. Mais Notepad l'obtient toujours.
Les mystères de Microsoft, j'ai eu cette erreur plusieurs fois que vous avez dîners chauds. I Utiliser un ensemble d'outils UNIX pour vaincre les protocoles d'autorisation stupides de Microsoft. faites votre choix mais j'utilise cygwin chmod sur un fichier ou récursivement et tout va bien. –
Il s'agit probablement d'un problème d'autorisations avec les attributs du fichier (propriété du groupe/utilisateur, etc.) et ceux du Bloc-notes. Vous pouvez obtenir plus de kilométrage sur Super utilisateur cependant. – informaton
@informaton Je viens de vérifier le fichier est seulement marqué comme 'A'rchive – MonoThreaded