Aix

AIX(unix)中標準輸入、標準輸出、標準錯誤文件描述符的位置在哪裡

  • July 20, 2016

在我的 Linux 環境中,文件描述符位於 /dev/fd。

AIX(unix) 中 stdin、stdout、stderr 文件描述符的位置在哪裡。

我找不到他們。

這個問題是基於對 proc 文件系統的一般性的誤解。實現此功能的系統(例如 Solaris 和 Linux)具有可用於編寫腳本的特殊設備,包括/dev/fd後跟文件描述符(數字)。

對於 Solaris,/dev/fd是 下的虛擬文件夾/dev,而 Linux 使用符號連結/proc進入與您的程序 ID 匹配的(虛擬)文件夾。proc 文件系統沒有標準,細節有所不同。

檢查 AIX 5.3 和 7.1 系統,它們確實實現了 proc 文件系統,但沒有/dev/fd. 但是,它們確實有一個虛擬文件系統/proc,您可以在其中找到您目前的程序 ID,並且在其下一個fd帶有文件描述符的文件夾。

按照慣例,文件描述符分別為stdinstdoutstderr初始化為 0、1、2 。

進一步閱讀:

  • /proc- 包含有關係統(AIX 7)

程序和執行緒的狀態資訊fd

包含程序的所有打開文件描述符的文件。每個條目都是一個十進制數,對應於程序中打開的文件描述符。如果實體引用正常文件,則可以使用正常文件語義打開它。為了確保控制程序不能獲得更大的訪問權限,在受控程序中除了自己的讀/寫打開模式外,沒有其他文件訪問模式。目錄將顯示為連結。嘗試打開任何其他類型的條目都將失敗(因此列出時將顯示 0 權限)。

引用自:https://unix.stackexchange.com/questions/297019