如何确保两个程序始终运行?(其中一个程序依赖于另一个程序。)

如何确保两个程序始终运行?(其中一个程序依赖于另一个程序。)

我需要运行两个程序。一个程序在执行过程中依赖另一个程序获取信息。因此,我需要确保第一个程序在第二个程序运行之前启动。此外,我需要在我登录的整个过程中运行这两个程序。

我最初以为我可以使用 Windows 服务来实现这一点。服务允许我指定依赖项,但它会阻止程序运行,因为它们都有用户界面。还有其他方法可以实现这一点吗?我现在正在使用批处理脚本,但这几乎不是一种很好的方法,因为它只在我登录时调用程序,而不会在程序崩溃时调用。

我也无法重新编译/编辑程序来让它们与服务对话。

这些程序仅在用户登录后启动是可以的。如果用户尚未登录,我不需要它们运行。

答案1

我会使用 .bat 文件或类似文件来执行此操作(尽管您不喜欢它,但请继续阅读:))。

获取批处理文件,首先检查程序是否正在运行,如果没有,则加载!

@echo off

tasklist /FI "IMAGENAME eq dependantProgram.exe" | find /i "dependantProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"
tasklist /FI "IMAGENAME eq myProgram.exe" | find /i "myProgram.exe" 
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"

现在,让任务计划程序在用户登录时运行此程序,并每 X 分钟执行一次。

相关内容