我正在使用 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 上处理这个问题。