当前位置: 首页 > news >正文

Powershell实现服务守护进程功能(服务意外终止则重启)

简介

Windows的服务是脆弱的,有时候服务关联的进程因为有一些unexpected exception而异常,进而导致服务挂掉,这个时候我们需要setup一个守护批处理来守护这个服务。

解决方案

一、持续守护型

  1. 使用 while 循环持续检测服务状态。
  2. 如果服务状态为 Stopped,则自动启动。
  3. 可用 Start-Service 启动服务。
$serviceName = "YourServiceName"   # 替换为你的服务名while ($true) {$service = Get-Service -Name $serviceName -ErrorAction SilentlyContinueif ($service.Status -eq 'Stopped') {Write-Host "$(Get-Date): $serviceName stopped, restarting..."Start-Service -Name $serviceName}Start-Sleep -Seconds 10  # 每10秒检查一次}

二、间歇守护型

只需要基本的停止则重启服务

    $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinueif ($service.Status -eq 'Stopped') {Write-Host "$(Get-Date): $serviceName stopped, restarting..."Start-Service -Name $serviceName}

如何运行?

后台运行

可用 Start-Job 或 Start-Process 让脚本后台运行。

Start-Job -ScriptBlock { & "C:\path\to\monitor-service.ps1" }

计划任务

在Widnows的Task Scheduler可将脚本设置为开机自启(如放入计划任务),或者间歇1分钟/5分钟运行。

http://www.dtcms.com/a/215095.html

相关文章:

  • LSTM模型进行天气预测Pytorch版本
  • 【EdgeYOLO】《EdgeYOLO: An Edge-Real-Time Object Detector》
  • Kubernetes Service 类型与实例详解
  • 阿里云国际版注册邮箱格式详解
  • MyBatis 拦截器的应用场景及实践
  • 矩阵链乘法问题
  • Vue:axios(POST请求)
  • 基于线性回归的短期预测
  • 5月26日复盘-自注意力机制
  • 如何提高 Python 代码质量
  • 56页 @《人工智能生命体 新启点》中國龍 原创连载
  • 小巧高效的目录索引生成软件
  • 大模型的检索增强生成综述研究
  • 消费电子卷入“技术军备竞赛”
  • 华为OD机试真题——二叉树的广度优先遍历(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • 开卡包的期望
  • CSS闯关指南:从手写地狱到“类”积木之旅|得物技术
  • 尚硅谷redis7 37 redis持久化之AOF简介
  • 2.1 C++之条件语句
  • Nuxt.js vs Next.js:Vue 与 React 阵营的 SSR 双雄对比
  • 传输线上的信号速度与阻抗无关,主要由频率决定
  • Neo4j(三) - 使用Java操作Neo4j详解
  • BaseProviderMultiAdapter多布局总结
  • screen用法
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月26日第89弹
  • AI Agent概念入门指南:核心技术、应用场景与实在Agent案例分析
  • dify-api的.env配置文件
  • 数据安全与纵深访问控制:构建数字时代的安全防线
  • 【五】图像复原(上)【830数字图像处理】
  • 安卓实用复制功能增强工具