Giả sử tôi mở một tệp với open()
. Sau đó, tôi fork()
chương trình của tôi.Các bộ mô tả tệp có được chia sẻ khi fork() ing không?
Giờ đây, cha và con có chia sẻ cùng một khoản bù cho bộ mô tả tệp không?
Tôi có nghĩa là nếu tôi viết thư cho cha tôi, khoản chênh lệch sẽ được thay đổi ở trẻ em?
Hoặc các khoảng bù có độc lập sau fork()
không?
Không này phụ thuộc nơi các tập tin đã được mở? Có nghĩa là cuộc gọi mở (tên tệp, int ..) được thực hiện sau ngã ba hoặc trước cuộc gọi. – ArmenB
@Armen: Vâng, đúng vậy. –
Điều kỳ lạ về điều này là, nếu tuyên bố mở tệp được tạo sau ngã ba, thì bạn có hai bộ mô tả tệp khác nhau. Nhưng khi tôi cố gắng khóa tập tin bằng fcntl, nó sẽ không hoạt động. Cả hai đứa trẻ và cha mẹ bỏ qua khóa – ArmenB