文件描述符初步學習(1)

Linux系統中一切皆爲文件,文件可分爲:普通文件、目錄文件、鏈接文件和設備文件。


文件描述符(file descriptor)

  • 體現:索引,一個非負整數
  • 功能:爲了高效管理已被打開的文件,用於指代被打開的文件,所有執行I/O操作的系統調用都通過文件描述符。
  • 常用的文件描述符:0是標準輸入,1是標準輸出,2是標準錯誤

文件描述符與文件與進程的關係:

  • 文件描述符與文件:文件與文件描述符的關係就像代碼與進程(程序)的關係。
    • 每一個文件描述符會與一個打開文件相對應。
    • 不同的文件描述符也會指向同一個文件
  • 文件與進程:
    • 一個文件能被不同的進程打開多次。
    • 一個文件也能被同一個進程打開多次。
  • 關鍵在於進程和文件描述符(文件打開)的關係。關係如下:
    • 系統爲每一個進程維護了一個文件描述符表,該表的值都是從0開始的,所以在不同的進程中你會看到相同的文件描述符,這種情況下相同文件描述符有可能指向同一個文件,也有可能指向不同的文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章