Fifo
在 FIFO/pty 上觸發零字節讀取
我想知道如何模擬 ^D 的 ICANON 行為:即觸發一個立即數,甚至是零字節,在 FIFO 或 PTY 或套接字等的另一端的程序中讀取。特別是,我有一個程序,其規範是它在標準輸入上讀取一個腳本,直到它讀取零字節,然後讀取輸入以提供腳本,我想自動測試這個功能。
當然,簡單地寫入 FIFO 不會導致正確的事情發生,因為沒有讀取零字節。幫助?
謝謝!
據我所知,這種行為是終端設備獨有的,所以這就是你必須使用的。
ICANON
使用從端處於模式的偽 tty ,並將Ctl-d
('\4'
) 寫入主端。
關於什麼:
echo -n '' > /path/to/the/fifo
echo -n
不產生換行符並且''
是一個空字元串。所以這應該不會導致沒有任何東西(0字節)被寫入fifo。您可以將其縮短
echo
為幾乎沒有:> /path/to/the/fifo
(如果您小心不要將其誤解為管道其他輸出)