可以在初始化時使用LPSTARTUPINFO結構來完成該操作,但可以在子進程已經運行之後完成。目標是讓子進程從STDIN中讀取,但是每隔一段時間父進程應該切入,並通過不同的匿名管道發送內容。初始化後父進程的STDIN是否可以由父進程更改?
1
A
回答
1
爲什麼不在父母的同一控制檯窗口中啓動孩子?然後,您可以讀取父項中的鍵盤輸入並將其輸送給孩子,偶爾會穿插其他輸入。
如果您的父進程是一個GUI應用程序,然後編寫一個額外的控制檯應用程序來完成這項工作。
如果孩子必須在單獨的窗口中運行,則可以使用相同的技巧:在自己的窗口中創建一個與孩子共享窗口的新進程。
+0
我自己實際上想過這個三層系統,可能會跟那個一起。我想我太習慣於做POSIX方式了,這更直接,當我想出這個限制時,我的想法並不是那麼簡單, 「這一定是不可能的」,而是「我不能找到正確的功能」。很傷心,我錯了。 – v010dya
1
在創建子進程後,父進程不能更改子進程的STDIN。但是,父級可以創建可繼承的管道,並將其句柄值作爲命令行參數傳遞給子級,那麼子級可以根據需要提取該值並使用該管道,而不會影響其正常STDIN。孩子可以定期撥打PeekNamedPipe()
,或者使用工作線程來監視傳入數據的管道。
相關問題
- 1. 子進程是否可以修改父進程的內存?
- 2. 由「fork()」生成的子進程是否可以擁有比其父進程更小的進程ID?
- 3. Nodejs子進程:從已經初始化的進程寫入stdin
- 4. 是否有可能在python中更改父進程的環境?
- 5. 子進程stdin不會獲取父進程發送的數據
- 6. 在父進程中更改的共享內存是否會影響子進程?
- 7. 向父進程發信號表明子進程已完全初始化
- 8. 是否在子進程中返回的功能,可以在父進程捕獲
- 9. perl父進程掛起等待子進程讀取stdin
- 10. 記錄器是否可以通過父進程和子進程訪問?
- 11. 子進程/父進程
- 12. 只殺害父進程,而不是在bash中的子進程和父進程
- 13. 是否可以抑制父進程:活動僞類?
- 14. 初始化後可以更改`template_folder`嗎?
- 15. Ptrace父進程
- 16. ptrace'ing父進程
- 17. 子進程是否繼承父進程的數據結構?
- 18. 子進程是否總是在父進程內運行?是否...線程...?
- 19. 進程未初始化
- 20. 檢測子進程是否掛起父進程
- 21. 是否將子進程pid()分配給父進程?
- 22. Python:可以讓一個子進程暫停/恢復父進程
- 23. 是否可以修改子進程?
- 24. UNIX初始化進程是否始終運行
- 25. C - 原始父進程的子代
- 26. 父進程和子進程的關係
- 27. 沒有掛父進程的子進程
- 28. 父進程是否可以知道孩子是否正在學習
- 29. 初始化父對象後初始化相關的對象
- 30. 父和子進程
我不明白你爲什麼需要這個。父母控制着孩子的STDIN。爲什麼你需要多個頻道? –
初始化期間它在控制中,對嗎?我正在討論初始化後改變它。我從來沒有問過有多個頻道。 – v010dya
當然,你做到了。你希望子進程聽一個不同的STDIN。這是第二個頻道。但爲什麼不把一切都寫下來呢? –