我有一個TF2服務器,如果被TF2我不在的時候更新,服務器將輸出:讀程序輸出C++
你的服務器是過時的。請更新並重新啓動。
我怎樣才能用C++觀察/讀取輸出?
的理念是:
1. if (output == "Your server is out of date. Please update and restart.")
2. kill the application
3. run update.bat
4. start observing again
是我的想法可能嗎?
這是否必須用C++來完成?這看起來像是使用shell /批處理腳本可以更容易完成的事情。我建議在服務器啓動時將服務器輸出重定向到某個文件,然後編寫一個腳本讀取該文件並查找更新消息,然後刪除該文件,運行update.bat,並在發現服務器時重新啓動服務器更新消息。如果你願意的話,你當然可以用C++做類似的事情。 – aroth
你真的需要殺死服務器嗎?你不能只在服務器中運行update.bat並繼續觀察嗎? – StevieG
一個shell腳本聽起來就像是一個不那麼痛苦的方式來處理這個問題,尤其是因爲它允許你輕鬆地捕獲正在運行的進程的PID,並且可以立即訪問諸如「kill」之類的進程信號工具。 –