Am o curiozitate si nu am reusit sa dau de un raspuns pana acum (probabil nici nu caut ce trebuie). <br><br>Propun urmatorul scenariu:<br>* rulez ./a.out care imi scrie un output text in fisierul out.txt<br>* pentru ca output-ul este foarte mare si are linii lungi, sa zicem ca il deschid in gedit<br>
* uit ca a ramas deschis, mai editez putin sursa si vreau sa testez din nou. In acest sens, rulez din nou ./a.out, care imi genereaza din nou out.txt<br>* cand ma intorc in gedit, editorul ma avertizeaza ca fisierul original de pe disk s-a schimbat, si ma intreaba daca vreau sa ii dau refresh.<br>
<br>Intrebarea:<br> Cum anume (si ma refer la implementare) isi da seama gedit ca fisierul s-a schimbat?<br><br>Este destul de clar ca gedit pastreaza in RAM o copie a fisierului deschis. Mai mult, daca m-am uitat corect cu watch, fisierele nu sunt pastrate deschise. In aceste conditii, cum afla procesul ca fisierul original s-a modificat intre timp? <br>
<br>Daca ar verifica el periodic, ar fi foarte ineficient, dar altfel ar trebui sa fie instiintat din exterior. Daca nu tine fisierele deschise, atunci ar trebui sa se inscrie el singur sa primeasca instiintari, pentru ca sistemul n-ar putea sa isi dea seama daca un proces vrea instiintari pentru un fisier pe care deja inchis.<br>