我在 c++ 中有一个 XMLRPC 窗口服务。我需要从它启动子进程,如果 Windows 服务收到请求并且进程已经存在我需要结束那个特定的子进程并再次启动它。我不需要等待进程在启动后退出但是一旦它启动并开始它应该做的事情我需要通知主进程。当子进程结束时,它需要通知启动它的服务,以便我可以维护一个已存在进程的列表。我知道我可以用 CreateProcess 做到这一点但是,一旦子进程到达特定事物,我该如何处理通知的各个方面。
最佳答案
调用 CreateProcess
后,跟踪进程句柄。您可以使用它来查看进程是否有 exited or not , 并调用 TerminateProcess
如有必要。
您甚至可以将所有句柄保存在一个数组中,然后一次调用 WaitForMultipleObjects
将在任何一个子进程退出后立即通知您。
关于c++ - 从 Windows 服务启动子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795131/