5
是否可以使用Linux管道創建一個循環?例如。Linux管道和環路
cmd1 | cmd2 | cmd3 | 「回到標準輸入CMD1」
換句話說,我想在stdout
cmd3
被連接回cmd1
stdin
。
是否可以使用Linux管道創建一個循環?例如。Linux管道和環路
cmd1 | cmd2 | cmd3 | 「回到標準輸入CMD1」
換句話說,我想在stdout
cmd3
被連接回cmd1
stdin
。
你可以使用一個命名管道/ FIFO:
mkfifo cmd3-to-cmd1
cmd1 < cmd3-to-cmd1 | cmd2 | cmd3 >> cmd3-to-cmd1
要知道,這樣的循環可能會導致死鎖。如果循環中的某個命令在寫入過程中停止讀取太久,則最終所有管道都將變滿且阻塞。即使原來的慢速命令也不能再寫了。 – jilles 2012-07-07 22:35:02
我將用它作爲「消息傳遞環」(作爲基於0MQ的系統的替代品):我不認爲會發生這種類型的死鎖。 – jldupont 2012-07-08 01:45:58