自动检查程序是否(仍在)运行。如果没有,启动它

bor*_*ran 7 windows-7 windows-8 windows-10

是否有一种工具可以不断检查是否有另一个进程正在运行,如果没有,则启动它?对于 Windows 7-10。

我有一个后台进程正在运行,我需要一个免费软件。尽管它在大多数情况下都运行良好,但有时它只是崩溃并消失而不另行通知。只需重新启动此软件即可解决我的问题。

Jon*_*nno 9

使用Stack Overflow 上这个问题的信息,您可以创建一个.bat像这样的文件(我以 Powerpoint 为例):

tasklist /FI "IMAGENAME eq POWERPNT.EXE" 2>NUL | find /I /N "POWERPNT.EXE">NUL
if NOT "%ERRORLEVEL%" == "0" start "" "C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"
Run Code Online (Sandbox Code Playgroud)

然后,您可以创建一个计划任务来每分钟运行一次,也可以在没有进程运行的情况下运行多长时间

或者,您可以无限循环启动应用程序:

@echo off
:1
"C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"
goto :1
Run Code Online (Sandbox Code Playgroud)

这将在程序关闭后立即重新打开。


Che*_*nka 5

这是您可以使用AutoIt做的事情之一。

创建一个定期执行检查的小脚本。像...一样简单的事情

While True  
  If (ProcessExists("prog.exe") = 0) Then  
    Run("prog.exe")  
  EndIf  
  Sleep(1000)  
Wend
Run Code Online (Sandbox Code Playgroud)

...甚至...

While True  
  RunWait("prog.exe")  
Wend
Run Code Online (Sandbox Code Playgroud)

...或者更复杂,如果你愿意。

脚本可以编译成exe,在后台安静运行。