windows如何让服务实现自动重启?
我有一个跨平台的C语言程序,现在要做这个程序的自动重启功能。在Linux
和AIX
下我可以调用execv
函数结束当前进程并启动一个新的进程。但是在Windows上遇到了困难。
在Windows
上,由于这个程序是要长时间运行的,所以使用CreateService
函数注册成了服务。我尝试过很多方法,比如设置服务异常退出时自动拉起,然后让程序exit(-1)
, 这样看日志程序确实自动启动了,但是进程的pid
并没有发生变化。
还尝试过做一个restart.cmd
的脚本,在这里杀死当前进程并重新启动,也失败了。还尝试过使用定时任务的方式,但都没有奏效。
因此想问问有没有什么比较好的解决方案?一些主流的Windows
程序在线升级的时候是如何做到自动重启的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论