我正在編寫一個服務器,它在fork()接受套接字連接時關閉子進程。 當孩子與客戶進行通信時,它必須將某些信息發回父母。我正在使用管道來完成此操作。 問題是,當我嘗試做父母子女IPC時,父母在從孩子讀取輸入時阻止。這意味着,即使孩子們同時在運行,他們也只能一次性處理,因爲他們都在等待父母。 我的代碼看起來像這樣(錯誤檢查簡潔,刪除): /* loop: wait for clients to con
我需要在進程之間共享一堆字符串(將來可能會有更復雜的對象)。我決定使用boost :: interprocess,但我無法讓它工作。我確信這是因爲我不理解某些東西。我遵循他們的例子,但如果有人使用該庫的經驗可以看看我的代碼並告訴我什麼是錯誤的,我將非常感激。問題似乎有效,但經過幾次迭代後,我在讀取器進程和寫入器進程上都會遇到各種異常。下面是我實現的一個簡化版本: using namespace b