アプリケーションのインスタンスを多数実行しないように Windows Scheduler を構成しました。
しかし、Windows が多数のインスタンスをどのように検出するかについてはよくわかりません。つまり、コマンド ラインに応じて動作が大きく変わる実行可能ファイルがあるということです。そのため、異なるパラメーターで同じ実行可能ファイルをトリガーするタスクが多数あります。
別のタスク スケジューリング (異なるパラメーターを使用) により同じプログラムの別のインスタンスが実行されている場合、1 つのタスク スケジューラの「新しいインスタンスを開始しない」によって実行がブロックされますか?
私が言いたいのは:
Task 1 -> program.exe some_param -> Do not start new instance
Taks 2 -> program.exe different_param -> Do not start new instance
タスク 1 の実行中にタスク 2 を開始しようとするとどうなりますか? Windows は、タスクとパラメーターが異なるため干渉してはならないことを理解できるほど賢いのでしょうか、それとも 2 番目のタスクはタスク 1 の完了を待機するのでしょうか?
答え1
この設定は他のタスクには影響しません。そのため、タスク1とタスク2は設定に関係なく同時に実行されます。この設定により、同じタスクを同時に実行します。たとえば、タスクが 1 時間ごとに実行され、新しいインスタンスを起動する必要がある場合、前のインスタンスが終了していないと、新しいインスタンスは起動されません。