web-dev-qa-db-ja.com

プログラムが(まだ)実行されているかどうかを自動的に確認します。そうでない場合は、開始します

別のプロセスが実行されているかどうかを常にチェックし、実行されていない場合はそれを開始するツールはありますか? Windows 7-10の場合。

必要なフリーソフトウェアであるバックグラウンドプロセスを実行しています。ほとんどの場合はうまく機能しますが、通知なしにクラッシュして消えてしまうこともあります。このソフトウェアを再起動するだけで問題は解決します。

4
bortran

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"

次に、これを毎分実行するようにスケジュールされたタスクを作成するか、プロセスを実行せずに実行できる時間

または、アプリケーションを無限ループで起動することもできます。

@echo off
:1
"C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"
goto :1

これにより、プログラムが閉じられるとすぐに再開されます。

5
Jonno

これは、 AutoIt で実行できることの1つです。

定期的にチェックを実行する小さなスクリプトを作成します。と同じくらい簡単な何か...

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

...あるいは...

While True  
  RunWait("prog.exe")  
Wend

...または必要に応じてさらに複雑にします。

スクリプトをexeにコンパイルして、バックグラウンドで静かに実行できます。

4
Chenmunka