簡單腳本這裏:BASH:用於從兩個輸入讀取最佳架構流
一個)從插座和存儲值的關聯數組不斷讀
b)中不斷從stdin讀取值和響應如果它們已經存在於關聯數組中,則爲t/f
a & b是隨機事件,不以任何方式關聯。
訣竅是從子進程都訪問數組(因爲把一個進程在後臺派生它作爲一個子進程)
我想通過最好的策略,併產生一些想法,但我不知道任何人有任何記好:
1)從套接字的輸入重定向到標準輸入作爲子進程,並在一個處理兩個輸入while循環(數據大小小,< 30個字符,所以我想他們會保持原子?)。
2)讀取套接字,然後在讀取時使用小(0.1?)超時值的STDIN,以模仿非阻塞I/O。
3)更新:將套接字數據寫入文件(實際上有另一個進程直接寫入文件),然後每次請求進來檢查值是否存在,處理文件中的條目,將它們添加到數組(使用文件鎖定)。
聽起來像你有正確的想法。有沒有理由用bash來做而不是另一種語言? – Slartibartfast
好問題。不,沒有理由對其他語言使用bash。 Bash是簡單而小巧的,這是唯一的原因(我有5個其他的bash腳本執行類似的認證/日誌記錄/用戶管理任務,所以很高興維護一個統一的平臺) –