我有一個守護程序,它可以在整個操作過程中打開一個文件並將其寫入(通常每次都是幾天)。爲了支持日誌旋轉,我希望能夠識別句柄引用的文件位於原始位置的新位置。從Linux中的文件句柄確定文件路徑
這可能嗎? fstat()不會爲這種情況提供任何有用的信息。
我目前的解決方案是在日誌寫入功能中測試日誌文件的存在,如果它不存在,關閉舊的句柄並打開一個新的句柄。這工作,但是是黑客,並有一定的侷限性。在我的情況下,我們的系統組使用一個工具進行日誌輪換,要求他們在旋出後觸摸文件,這導致我的守護進程繼續認爲它的文件句柄指向正確的位置。
看看這個線程,看看在PHP手冊中是否有類似的功能。 http://stackoverflow.com/questions/1188757/getting-filename-from-file-descriptor-in-c – Jake