windows如何让服务实现自动重启?

发布于 2022-09-13 00:39:35 字数 458 浏览 32 评论 0

我有一个跨平台的C语言程序,现在要做这个程序的自动重启功能。在LinuxAIX下我可以调用execv函数结束当前进程并启动一个新的进程。但是在Windows上遇到了困难。
Windows上,由于这个程序是要长时间运行的,所以使用CreateService函数注册成了服务。我尝试过很多方法,比如设置服务异常退出时自动拉起,然后让程序exit(-1), 这样看日志程序确实自动启动了,但是进程的pid并没有发生变化。
还尝试过做一个restart.cmd的脚本,在这里杀死当前进程并重新启动,也失败了。还尝试过使用定时任务的方式,但都没有奏效。
因此想问问有没有什么比较好的解决方案?一些主流的Windows程序在线升级的时候是如何做到自动重启的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文