Làm cách nào để tìm tất cả các tệp đang mở trong một quy trình (từ bên trong chính nó)?Đóng tất cả các tệp đang mở trong một quá trình
Điều này có vẻ hữu ích khi biết sau fork()
(trước exec()
).
tôi biết sự tồn tại của getdtablesize()
và di động hơn sysconf(_SC_OPEN_MAX)
, nhưng có vẻ như không hiệu quả để cố gắng đóng cửa tất cả các tập tin mô tả hợp lệ, cho dù có một tập tin mở đằng sau nó hay không. (Tôi cũng biết về sự nguy hiểm của việc tối ưu hóa sớm, đây là nhiều hơn về tính thẩm mỹ mà tôi đoán :-)
Chào mừng bạn đến với các cuộc đua. – ybungalobill