1
我正在使用Poco在我的應用程序中創建一個進程。如果流程正常退出或崩潰,我想重新啓動流程。如何檢測Poco子進程何時崩潰?
ProcessHandle ph = Process::launch("foo.exe", args, 0, &outPipe, 0);
PipeInputStream istr(outPipe);
std::string s;
int c = istr.get();
while (c != -1)
{
s += (char) c; c = istr.get();
}
平滑出口通過等待輸出樁結束如上所示容易處理:
目前如下它被啓動。
當進程崩潰時,我該如何處理?我需要在Windows和Linux上處理這個問題。
很長時間後回覆,但我面臨同樣的問題。我嘗試了'wait()',但總是返回'0'。搜索了很多,但無法找到更好的方式來跟蹤POCO的過程。這就是我放棄POCO來產卵和跟蹤過程的原因。現在使用'fork'和'exec'(對於unix)。 – Aman 2015-11-02 10:19:22