我正在編寫一個C++應用程序(在Linux中),我只想啓動一次應用程序。 (如果它已經開放,那麼使用那一個handle
)。啓動一個進程並在C++應用程序中處理它
我也不時地向相同的應用程序提供輸入。例如:
class myapp():
start second application here.
work()
myapp::work(){
create input
provide input to the started/already open second application
}
所以當每一個對象被用於創建MYAPP時間,第二個啓動應用程序(只如果尚未打開)。然後每次將輸入傳遞給應用程序?這可能嗎?我也不想第二個應用程序關閉,除非用戶結束它。 我已經在使用pid和fork來做到這一點。但不知何故,它多次啓動應用程序,我也無法爲此應用程序提供輸入。
希望這已經夠清楚了。我知道已經有很多Q & A可用,但我無法清楚地理解,因此如果我再次提出同樣的問題,我很抱歉?
感謝您的幫助
您想要啓動一個命令行程序或圖形程序嗎?是否有可能通過命令行參數提供需要輸入的信息(許多圖形應用程序也接受一些參數),還是需要直接與應用程序交互? – denisw
@denisw對延遲抱歉。它是一個圖形應用程序(「Wireshark」),是的它通過命令行接受輸入。像'my_application - > STDOUT | wireshark -k -i -'會工作。但是我不是很熟悉如何處理打開的同一個wireshark進程?你能否指點我正確的方向。非常感謝。 – WiData
我應該使用popen嗎?我以前從未使用過。 – WiData