• 締切済み

タスクが既に実行中の場合に適用される規則 について

初心者のため、質問に分かりづらい点があれば申し訳ありません。 Windowsのタスクスケジューラの「タスクが既に実行中の場合に適用される規則」についてですが、こちらは同一タスクのインスタンスのみを参照しているのでしょうか? 例えば、日時で xxxx.bat(約1時間かかる) yyyy.bat(約3時間かかる) の2つを午前0時にスケジューリングし、 更にxxxx.batを午前2時にスケジューリングした場合 (1)xxxx.batの2度めの実行は1度めの実行が終わってからでなくてはならない (2)yyyy.batの実行に影響は与えるのはNG (3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG という条件を満たした設定はあるでしょうか? 「新しいインスタンスをキューに追加」を設定すれば良いかな、と思ったのですが これだと (3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG を満たせないのではないかと思いまして、質問させていただきました。 ご回答よろしくお願いいたします。

みんなの回答

  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.1

(1)xxxx.batの2度めの実行は1度めの実行が終わってからでなくてはならない 》処理開始時に、既実行タスクがないこと(前タスク完了)の判断が必要です。 (2)yyyy.batの実行に影響は与えるのはNG 》「影響」の程度が微妙ですが、別タスクがあれば当然CPUリソースを消費します。「処理ロジック的な影響」はBAT処理の内容によります。 (3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG 》逆に終わったとを検出する方が面倒なので、連続(直列)処理が必要な場合は一つのルーチン(BAT)に纏めます。なので、排他的な処理でなれば通常のソフト同様、平行処理は問題ないと思います。 具体的には、サンプルBATを作って走らせてみるのがわかりやすいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A