我有一个设计为 Windows 服务的 C++ Windows 应用程序。它定期执行更新程序以查看是否有新版本。要执行更新程序,_execv()
使用。更新程序查找新版本,下载它们并停止 Windows 服务(所有这些操作都会记录下来),替换文件,然后再次启动服务。在 CLI 模式下(不进入服务模式)这样做可以正常工作。根据我的日志文件,子进程已启动,但父进程(Windows 服务)退出。
甚至“允许”在 Windows 服务中启动子进程,为什么服务会意外退出?我的日志文件没有显示错误(我什至正在监视写入日志的段错误等)。