当前位置: 首页 > 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分钟运行。

相关文章:

  • 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 双雄对比
  • 网站设计超链接怎么做/新东方烹饪学校学费价目表
  • 网站海外推广谷歌seo方案/做网络推广费用
  • 苏州调查公司哪家好/广州中小企业seo推广运营
  • 滁州做网站公司/免费ip地址代理
  • 模板网站建设教程/淘宝关键词排名查询工具
  • 做国际网站有什么需要注意的/如何建立一个网站平台