首页 > 系统相关 >PowerShell 脚本来监视并自动重新启动崩溃或挂起的应用程序

PowerShell 脚本来监视并自动重新启动崩溃或挂起的应用程序

时间:2024-02-20 14:24:22浏览次数:40  
标签:脚本 exe 应用程序 重新启动 监视 PowerShell

PowerShell 脚本来监视并自动重新启动崩溃或挂起的应用程序。以下是一个简单的示例脚本,用于监视并重新启动特定的应用程序:

powershellCopy Code
# 设置要监视的应用程序名称
$applicationName = "YourApplication.exe"

# 设置检测时间间隔(秒)
$checkInterval = 5

# 循环监视应用程序状态
while ($true) {
    $process = Get-Process | Where-Object { $_.ProcessName -eq $applicationName }

    if (-not $process) {
        Write-Host "$applicationName 崩溃,正在重新启动..."
        Start-Process -FilePath "C:\Path\To\Your\Application.exe"
    }

    Start-Sleep -Seconds $checkInterval
}

在这个示例脚本中,您需要将 "YourApplication.exe" 替换为您要监视的应用程序的实际名称,并将 C:\Path\To\Your\Application.exe 替换为应用程序的实陵路径。

 

CMD 批处理脚本来监视并自动重新启动崩溃或挂起的应用程序。以下是一个简单的示例脚本,用于监视并重新启动特定的应用程序:

Copy Code
@echo off

:: 设置要监视的应用程序名称
set applicationName=YourApplication.exe

:: 设置检测时间间隔(秒)
set checkInterval=5

:: 循环监视应用程序状态
:loop
tasklist | findstr /i %applicationName% >nul

if errorlevel 1 (
    echo %applicationName% 崩溃,正在重新启动...
    start "" "C:\Path\To\Your\Application.exe"
)

timeout /t %checkInterval% /nobreak >nul
goto :loop

在这个示例脚本中,您需要将 YourApplication.exe 替换为您要监视的应用程序的实际名称,并将 C:\Path\To\Your\Application.exe 替换为应用程序的实际路径。

 

 

PowerShell 实现自动重新启动崩溃或挂起的服务,您可以按照以下步骤操作:

  1. 获取服务名称

    • 确定您要监视和重新启动的服务的名称。可以使用 Get-Service cmdlet 来获取系统中所有服务的列表。
  2. 编写 PowerShell 脚本

    • 编写一个 PowerShell 脚本来监视并重新启动服务。下面是一个简单的示例脚本:
powershellCopy Code
# 设置要监视和重新启动的服务名称
$serviceName = "YourServiceName"

# 设置检测时间间隔(秒)
$checkInterval = 5

# 循环监视服务状态
while ($true) {
    $service = Get-Service | Where-Object { $_.Name -eq $serviceName }

    if (-not $service.Status -eq "Running") {
        Write-Host "$serviceName 服务崩溃或挂起,正在重新启动..."
        Restart-Service -Name $serviceName
    }

    Start-Sleep -Seconds $checkInterval
}

在这个示例脚本中,您需要将 "YourServiceName" 替换为您要监视和重新启动的服务的实际名称。

  1. 运行脚本
    • 将脚本保存为 .ps1 文件,并在管理员权限下运行 PowerShell 控制台。
    • 使用 Set-ExecutionPolicy RemoteSigned 命令来设置脚本执行策略,以允许运行本地脚本。
    • 运行您编写的 PowerShell 脚本来监视并重新启动服务。

 

标签:脚本,exe,应用程序,重新启动,监视,PowerShell
From: https://www.cnblogs.com/suv789/p/18022967

相关文章

  • PC应用程序自动化(python)
    个人向笔记。看的是BV14Y4y1z7z6这个视频。假期感兴趣看了一点点,感觉和我的日常工作匹配度不太高,所以先记录到这里,后面再补充。 PC自动化--pywinauto0、前置0.1是个后端的访问。application:作用范围是一个进程; desktop:作用范围可以跨进程。 0.2程序检测辅助工具 ......
  • Windows也能拥有好用的命令行吗?Powershell+Terminal折腾记录(v1.0版本)
    PS:本文写于2021年,现在已经是2024年,有了很多新变化,我在接下来的文章里会继续更新。前言Windows一向以图形化操作入门容易著称,所以对于命令行的支持一直为人所诟病,比起Linux或者mac都是被吊打的。这一局面在最近几个版本的Windows10更新里,特别是微软官方出了WindowsTerminal这个大......
  • 配置powershell
    参考视频:配置终端代理:$env:HTTP_PROXY="http://127.0.0.1:10809";$env:HTTPS_PROXY="https://127.0.0.1:10809"安装scoopiwr-usebget.scoop.sh|iex非管理员模式运行psscoop的默认安全策略使得它不能直接在管理员模式下安装;运行以下两个命令:Set-ExecutionPolicyRem......
  • bat+powershell实现win10一键共享
    网卡Ethernet共享给网卡Ethernet2C:\tools\share_net.ps1#RegistertheHNetCfglibrary(once)#regsvr32hnetcfg.dll#CreateaNetSharingManagerobject$m=New-Object-ComObjectHNetCfg.HNetShare#Listconnections$m.EnumEveryConnection|%{$m.NetConnect......
  • Qt环境Windows应用程序动态变更系统默认打印机
    有些工作环境安装有多个打印机,针对不同需求进行各种输出。如果是用QPrinter进行打印控制,可以通过setPrinterName确定使用哪一个打印机,但如果程序使用了第三方功能进行打印输出,比如通过QAxObject调用系统的文字处理直接输出,就可能会遇到无法明确指定哪一个打印机的问题。这时就需要......
  • 验证:web应用程序要遵循http协议
     说明webserver响应的格式必须要遵循http响应协议,否则浏览器或者其它客户端工具不能解析响应,而http请求协议已经由浏览器或者其它客户端工具帮我们封装好了。这里我们直接通过socket写一个简单的server来演示。 get请求server.pyimportsocketimporttime#创建TCP......
  • 在 PowerShell 中,可以使用 Remove-Item 命令来替代 rmdir 命令(在 cmd 窗口下使用)。Rem
    rmdir/?删除一个目录。RMDIR[/S][/Q][drive:]pathRD[/S][/Q][drive:]path  /S   除目录本身外,还将删除指定目录下的所有子目录和      文件。用于删除目录树。  /Q   安静模式,带/S删除目录树时不要求确认 在PowerShell中,可以使......
  • PowerShell 命令 ,用于安装、启动、停止、删除和查询系统中的服务
    PowerShell命令,用于安装、启动、停止、删除和查询系统中的服务:安装服务:powershellCopyCodeNew-Service-Name"ServiceName"-BinaryPathName"C:\Path\to\Service.exe"这个命令将在系统中安装一个名为"ServiceName"的新服务,并指定服务的可执行文件路径为"C:\Path\to\S......
  • 无涯教程-Flask - 应用程序
    为了测试Flask的安装,在编辑器中以Hello.py键入以下代码fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'HelloWorld'if__name__=='__main__':app.run()必须在项目中导入Flask模块。Flask类的对象是无涯教程的WSG......
  • gtkmm4 应用程序使用 CSS 样式
    目录前言css选择器css文件示例源代码效果前言程序样式和代码逻辑分离开使代码逻辑更可观css选择器Cambalache提供了两种css-classes相当于css里的类名:class="类名"css-name相当于css里的标签名:spindivp啥的如上我设置了这个按钮控件的类名为testButton标签名......