Ho modificato l'esempio here per far sì che venga ripetutamente visualizzato un file per "modifiche". Il mio codice è here. Nei miei test la notifica inotify viene attivata solo la prima volta che il file viene "modificato" (cioè touch
"ed). Qualsiasi modifica successiva al file non causa l'attivazione di alcuna notifica. stat
mostra che l'ora di 'Modifica' è cambiata. Inoltre, modificare il codice per rimuovere l'orologio e riaggiungere ogni volta che viene generato un avviso (ovvero spostare inotify_add_watch
e inotify_rm_watch
all'interno del ciclo while(1)
nel mio sample) non ha aiutato a risolvere questo problema.non inotify notifiche di attivazione su file
Mi stavo chiedendo se qualcuno qui potrebbe aiutare con quello che potrei fare male. Inoltre, anche se ho aggiunto un orologio per IN_ALL_EVENTS
, mi interessano solo gli eventi IN_MODIFY
. Non sono sicuro che ciò faccia differenza.
Inoltre, questo caso d'uso non funziona? Devo cambiare il mio approccio per guardare invece la directory? Per favore consiglio
TIA.
Modifica 1: come indicato da themel, la gestione di i
ha richiesto un po 'di correzione. Tuttavia, anche la versione fissa non attiva le notifiche per i successivi "eventi" del filesystem. Inoltre, l'aggiunta di un orologio sulla directory rispetto al file mostra un comportamento non deterministico simile.
Modifica 2: Mi piacerebbe ottenere questo asio + inotify example basato su this answer per funzionare. Sfortunatamente quell'esempio non ha funzionato affatto per me. Qualsiasi aiuto sarebbe molto apprezzato. TIA.
Anche se mi chiedo perché 'touch' non causa una notifica' IN_MODIFY'. 'stat' sembra suggerire che' touch' abbia modificato il tempo di 'Modifica' del file. –