Załóżmy, że otwieram plik z open()
. Potem I fork()
mój program.Czy deskryptory plików są udostępniane, gdy fork() ing?
Czy ojciec i dziecko mają teraz takie same przesunięcie dla deskryptora pliku?
Mam na myśli, że jeśli napiszę u mojego ojca, przesunięcie zostanie również zmienione u dziecka?
Czy przesunięcia będą niezależne po fork()
?
Nie to zależy, gdzie plik został otwarty? Znaczenie, jeśli wywołanie open (nazwa pliku, int ..) jest wykonywane po rozwidleniu lub przed nim. – ArmenB
@Armen: Tak, tak, tak. –
Dziwne jest to, że jeśli instrukcja otwarcia pliku jest wykonywana po rozwidleniu, masz dwa różne deskryptory plików. Ale kiedy próbuję zablokować plik przy pomocy fcntl, nie zadziała. Zarówno rodzic, jak i rodzic ignorują blokadę. – ArmenB