fd(file descripter) 만으로 파일명을 구할 수 있을까요 ?

ukyoukyo의 이미지


Fedora 14 + GCC 씁니다.

fd(file descripter) 만으로 파일명을 구할 수 있을까요 ?

 
int fd = open("/root/demo.txt");
 

위와 같이 fd를 얻었다고 할때,

open()함수의 인자인 "/root/demo.txt"를 참조하지 않고

fd를 참조해서 해당 파일명을 구할 수 있는 방법이 있나요 ?

fstat() 함수를 써도 파일 크기 등은 나오는데 유독 파일명은 안나오네요...

feanor의 이미지

정상적으로 하는 방법은 없고, 리눅스시니까 /proc/self/fd/[숫자]를 읽으면 됩니다.

nthroot의 이미지

fstat -> inode -> readdir 하면 가능할 것도 같네요.

오픈한 파일 이름을 모르는건 조금 이상하네요.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.