O sistema inotify no Linux, ou o kqueue no BSD / OSX, fornece um mecanismo orientado a eventos (" semelhante à interrupção ") para fazer isso.
Por exemplo, o IDE que estou usando no momento (Aptana Studio) me notifica assim que o conteúdo de um arquivo que ele abriu foi alterado por algum programa externo.
Posso imaginar que um loop periódico execute stat () em um arquivo e verifique a hora da última modificação de dados. É assim que normalmente é feito ou há um mecanismo de bloqueio como o de interrupção usado?