Fifo
創建讀取時執行命令的命名管道/fifo
我正在尋找一個只從本地文件中讀取內容來自 http URL 的程序。該程序是一個守護程序,它被硬編碼以讀取其目前工作目錄中的特定文件,並在發生特定事件時讀取它。
我無法控制觸發文件讀取的事件,我想提供近乎實時的數據,而不是通過 curl 腳本不斷地將數據轉儲到文件中。
我認為可能有用的是一個在讀取時執行命令的fifo。然後將其連接到 netcat 或 curl 以檢索 URL 的內容(xml 數據)。這可能嗎?
在普通文件系統上從管道讀取程序是不可能的。但是還有其他方法可以滿足您的需求。
您可以循環執行內容生成程序。每次打開 FIFO 進行寫入時,都會阻塞,直到有讀取器出現。
while true; do generate-content >fifo done
另一種方法是製作一個FUSE文件系統,它可以生成你喜歡的任何內容——返回給閱讀器的數據是由文件系統驅動程序生成的,它是一個普通的程序,所以你可以讓它做你喜歡的任何事情。不過,建構 FUSE 文件系統驅動程序需要做很多工作,所以除非你找到一個已經完全滿足你需要的驅動程序,否則這可能是矯枉過正。一些可能對您有所幫助的文件系統是: