Quando proviamo a monitorare una directory usando inotify su Linux, come sappiamo, riceviamo una notifica non appena il file viene creato (prima che l'altro processo termini la scrittura ad esso)come assicurarsi di non leggere un file prima di scrivere la scrittura
c'è un modo efficace per fare in modo che il file non viene letto prima di scrivere ad essa è completata entro l'altro processo?
Potremmo potenzialmente aggiungere una lettura ritardata; ma come tutti sappiamo, è imperfetto.
Per un po 'più chiarezza sullo scenario; i due processi sono in esecuzione come utenti diversi; il carico previsto è di poche centinaia di file creati al secondo.
Suppongo che non sia possibile creare un semaforo con nome per ogni file per garantire che solo 1 processo stia utilizzando un file alla volta? – Gianni
Definisci "finish" ... A meno che il processo non chiuda il file, è possibile determinare se un processo viene "fatto" scrivendo su di esso, anche in linea di principio? – Cogwheel
Hai il controllo dei programmi che leggono/scrivono il file, o ha bisogno di lavorare anche con "qualsiasi programma di terze parti"? –