文件描述符是針對進程還是針對操作系統?我基本上想知道的是,如果在ac程序中我打開一個文件,並且該文件被分配了一個文件描述符值,例如103,那麼當我在其他c程序中用文件描述符103打開一個文件時,我會指的是相同的文件或其他?文件描述符和進程關係
0
A
回答
1
每個進程將擁有自己的文件描述符表。它的處理器特定,如果更改fd
它將只對該進程有效,它不會影響系統中的其他進程。一旦進程終止fd
將被丟棄。
如果我從過程中分叉了一個新過程,我打開該文件該怎麼辦?
當前文件描述表,即fork系統調用之前的表將被繼承到子進程。
0
文件描述符是通過open()創建的特定進程。但是您可以使用open()通過其他進程多次打開相同的文件。通過這種方式,每個進程都將擁有自己的文件描述符用於同一個文件。文件描述符和其他資源一起通過fork傳遞給子進程。這意味着子進程不需要重新打開已經打開的父進程的相同文件。
相關問題
- 1. 文件描述符和系統調用
- 2. 關閉文件描述符
- 3. 跨進程共享文件描述符
- 4. 文件描述符飢餓和阻斷文件描述符
- 5. 父/子進程關閉文件描述符
- 6. 在子進程中關閉已打開的文件描述符
- 7. 文件描述符和打開文件
- 8. Logstash關閉文件描述符?
- 9. python關閉文件描述符問題
- 10. 文件描述符和套接字文件描述符之間的區別
- 11. 等待可讀文件描述符和可寫文件描述符
- 12. 附件與附件關係描述
- 13. 文件描述符是在Unix上是其本地進程還是全局文件描述符
- 14. Linux Socket文件描述符與線程
- 15. .Net Socket編程:文件描述符
- 16. 使用文件描述符過程
- 17. execve()和共享文件描述符
- 18. Linux文件描述符表和vmalloc
- 19. POSIX POLLOUT和阻止文件描述符
- 20. 主題和文件描述符
- 21. 套接字和文件描述符
- 22. c strcpy文件描述符
- 23. webservice描述符文件
- 24. 創建文件描述符
- 25. Linux open()文件描述符
- 26. 實現文件描述符
- 27. 文件描述符輪詢
- 28. 寫作文件描述符
- 29. 系統調用如何知道文件描述符屬於哪個進程?
- 30. 關閉原始文件描述符後,重複的描述符文件是否關閉?
文件描述符是特定於進程的。 –
如果我從打開該文件的過程中分離出一個新進程,該怎麼辦? – Utkarsh
每個進程的文件描述符都是* still *,而fork發生的複製只是使*看起來*好像不是。 –