next up previous
Next: 一個執行中的程式如何知道自己的 pathname? Up: 自以為已經知道所有答案的人可能會問的高級問題 Previous: 我要如何在未曾真的讀進東西的情況下檢查是否有字元等待讀取?

要怎樣才能得知一個已 open 檔案之檔名?

這個是非常困難的。若是這個 file descriptor 是對應到 pipe 或 pty 就沒 有名字了。這個 file descriptor 對應的檔案也有可能已被刪除。若是有  symbolic link 或 hard link,則可能有許多個名字。 如果你經過一再考慮後別無選擇一定要這麼做的話,可以用 find 的 -inum 與  -xdev 選項,或用 ncheck,或用自己寫類似的程式來做。在這麼做時要耐心的 等,因為在一個幾百 megabyte 甚至幾 gigabyte 的 file system中找一個檔 案,一定得花不少時間。



Tan Koan-Sin
1999-03-02