把某些功能直接写成了 windows的服务,但服务老是崩溃,怎么让该服务在崩溃后自动重启

打一壶酱油 2020-07-10 08:13:57
把某些功能直接写成了 windows的服务,但服务老是崩溃,怎么让该服务在崩溃后自动重启
...全文
1470 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
重启还是照样会崩溃吧, 还不如代码捕捉异常调试 找找崩溃的原因
threenewbee 2020-07-19
  • 打赏
  • 举报
回复
windows服务,可以设置为关闭后自动重启,不需要代码,配置下就可以
jsjhj2008 2020-07-18
  • 打赏
  • 举报
回复
建议做个winfrom窗口程序,隐藏在任务栏上,系统服务有很问题,包括权限的问题,只要你做的winfrom不被别人关掉就可以了,然后再放在启动项里,电脑重启会自动运行。
ying1234 2020-07-14
  • 打赏
  • 举报
回复
引用 15 楼 以专业开发人员为伍 的回复:
修改 bug 跟守护服务,对成熟产品来说都非常重要,哪一个革命性的措施也不能学阿 Q 一样来排斥。我们的大企业的服务运行4-5年也不需要维护,但是我们照样必须用一个不到20行的windows service 来守护和拉起它。
哥,有些话不需要说太正确,你这么一说,他有90%的可能,就纯搞一个守护的服务,至于bug,抛到九霄云外了,反正坏了重启就行,有些业务重启一下真的用户不容易感觉出来,见过太多这样的人,不逼一下怎么行。
  • 打赏
  • 举报
回复
修改 bug 跟守护服务,对成熟产品来说都非常重要,哪一个革命性的措施也不能学阿 Q 一样来排斥。我们的大企业的服务运行4-5年也不需要维护,但是我们照样必须用一个不到20行的windows service 来守护和拉起它。
jhonsonzhang 2020-07-11
  • 打赏
  • 举报
回复
不考虑重启服务,肯定是服务进程代码的问题,重启服务也枉然。再找代码的原因。
ying1234 2020-07-11
  • 打赏
  • 举报
回复
决不能搞什么守护进程,重启服务,找出错,改掉bug,这是根本解决之路。就象try catch一样,不是让你用来忽略错误用的。也不要迷信什么大神,大神一样会犯错,就象go 1.13版的http模块出了一个bug,你能相信google的大神居然也会犯低级错误吗?一切以事实为准。
  • 打赏
  • 举报
回复
治标不治本,你这个异常是没被你自己捕捉到才导致了服务停止,你可以先去事件查看器里看看有没有报错记录,或者你自己服务记录运行日志、错误日志,执行到了哪一步他就出问题了,再进行针对的修改
by_封爱 版主 2020-07-10
  • 打赏
  • 举报
回复
首先,要从根本解决问题 就要找到 "崩溃"的原因.. 至少 不能让他"总"崩溃. 其次,进程守护一般是一个不错的解决方案.. 实现原理就是在写一个服务,定时监听你这个服务进程..一旦发现停止了 然后自动启动..
耗子哭死猫 2020-07-10
  • 打赏
  • 举报
回复
引用 3 楼 打一壶酱油 的回复:
[quote=引用 1 楼 耗子哭死猫 的回复:]肯定是异常崩了,异常加个进程启动服务。
大神,异常加个进程启动服务 这个怎么操作?[/quote] 我的意思是这样的,程序崩溃有可能是你的代码有问题,try catch 异常捕捉一下做个提示,如果不想找原因,在异常里写一个进程启动程序,好像不太现实,崩溃后Process不执行了,放在最前又提示程序在运行中。 再加一个服务吧,catch直接给这个服务发一个通知,让这个服务来重新启动。 你不能找找什么原因导致崩了。
键盘敲出字 2020-07-10
  • 打赏
  • 举报
回复
首先,处理异常的崩溃问题,崩了就是你的不对了。
其次,服务设置里面是有恢复设置的,可以在服务失败的时候重启服务或进行其他操作。
当然,还有种最憨憨的方法,你可以写一个服务看这个服务挂了,哈哈哈哈。
打一壶酱油 2020-07-10
  • 打赏
  • 举报
回复
引用 1 楼 耗子哭死猫 的回复:
肯定是异常崩了,异常加个进程启动服务。

大神,异常加个进程启动服务 这个怎么操作?
牧歌ing 2020-07-10
  • 打赏
  • 举报
回复
你可以在试着捕捉一下全局异常,然后看是什么原因引起的,服务老奔溃概率这么高,应该是可以解决的
耗子哭死猫 2020-07-10
  • 打赏
  • 举报
回复
肯定是异常崩了,异常加个进程启动服务。
八爻老骥 2020-07-10
  • 打赏
  • 举报
回复
如果重启能解决问题的话,加个守护进程肯定是好的。还有可以按计划定时重启。
weixin_49287713 2020-07-10
  • 打赏
  • 举报
回复
这个问题的确有点意思www.ppthui.com
飞天凤凰601 2020-07-10
  • 打赏
  • 举报
回复
确实有些服务异常崩溃,比如原来的CS1.5服务端,这可是大神公司写的 我就加一个线程,做成一个exe监控这个服务还在不在?不在,就重启动服务 ---- 以上是我的一个思路,你可以借鉴。
m0_48036920 2020-07-10
  • 打赏
  • 举报
回复
首先,要从根本解决问题 就要找到 "崩溃"的原因.. 至少 不能让他"总"崩溃. 其次,进程守护一般是一个不错的解决方案.. 实现原理就是在写一个服务,定时监听你这个服务进程..一旦发现停止了 然后自动启动..
ManBOyyy 2020-07-10
  • 打赏
  • 举报
回复
肯定獲取值的時候,加上try catch ,比如獲取數據庫還有其他接口的還有其他硬件對接的

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧