• ベストアンサー

複数のバッチを同時並行で起動したいNo2

No.2002566で質問した者です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2002566 環境:Windows2003Server バッチファイルの中に複数のバッチファイルを呼んでいるのですが、同時並行で実行することは可能でしょうか? サーバにCPUが4つあるのですが一回の実行ではタスクが分散されず1CPUで負荷がかかってしまって対応方法を考えています。複数のバッチに分けてから同時に実行した場合はタスクも複数になる為、処理が分散されるのではないかと思っているのですが・・・。 ↑ 現在「start C:\xxx\yyy.bat」コマンドで4つ同時並行で実行しておりタスクが分散されて負荷が軽減されています。 が、また問題が発生してしまいました。。 JP1で登録されているのですが上記バッチが終了していないのにもかかわらず次の登録バッチが実行されてしまいます。 対応としては4つのバッチのうち処理が一番重いバッチを「call」で呼ぶことにしています。 理想としては全てのバッチが終了したら親元のバッチを終了させるようにしたいのですが・・。 何かいい方法があればアドバイスお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

JP1を使っているなら、全部別ジョブとして登録してジョブネットにすればいいのでは? どうしてもJP1上では1ジョブにしないといけないのなら、自分でファイルを作って待ち合わせるとか。 start one.bat start two.bat start tree.bat start four.bat :loop ping -n 60 localhost >NUL if not exist \temp\one goto loop if not exist \temp\two goto loop if not exist \temp\tree goto loop if not exist \temp\four goto loop として、各batの最後で\temp\one等を作成する。

関連するQ&A

  • 複数のバッチを同時並行で起動したい

    環境:Windows2003Server バッチファイルの中に複数のバッチファイルを呼んでいるのですが、同時並行で実行することは可能でしょうか? サーバにCPUが4つあるのですが一回の実行ではタスクが分散されず1CPUで負荷がかかってしまって対応方法を考えています。複数のバッチに分けてから同時に実行した場合はタスクも複数になる為、処理が分散されるのではないかと思っているのですが・・・。 どなたかアドバイスお願い致します。

  • 複数同時アクセス

    いつもお世話になって申し訳ありません。 どうやらINSERT文でサーバーが落ちてしまいます postgres+PHPの組み合わせで 同じテーブルに同時に複数人(20-30)が INSERT文を実行する場合の処理に 対応しているのでしょうか? テーブルをロックする等の処理をする 必要がないのでしょうか? よろしくお願いします

    • 締切済み
    • PHP
  • バッチ実行を意図的に失敗させる方法

    使用OSは windows server 2008 タスクマネージャにてリブート等のタスクを登録し 実行されたら自作したバッチが実行される環境を作っています。 意図的にバッチ実行を失敗させ、そのエラーメッセージを 表示させたいです。 正確にはタスクが実行された後に「前回の実行結果」タブの内容を 「この操作を正しく終了しました」以外のメッセージが 表示されるバッチを作成したいです。 実行不能な内容のバッチを作成したりしてみましたがどうしても 「この操作を正しく終了しました」か「(0x0)」の様な 返り値しか表示されません。 バッチ作成自体初心者の為、どうしても他に思い浮かびません。 何か良いコマンド等はないでしょうか? 宜しくお願いします。

  • バッチファイルで実行ファイル同時実行

    こんにちは、 ある複数の実行ファイルを同時に起動させたく思い、 バッチファイルに実行ファイルを羅列したのですが、 調べたところNT系だと終了を待つ様です。 終了を待たずに次のコマンドに進み、実行後コマンドプロンプトを 閉じるまでを行う事は不可能なのでしょうか? よろしくお願いいたします。

  • Acrobatの複数のバッチ処理を一度にする方法

    Acrobat 9 Proを使っています。 今、全部で5つのバッチシーケンスを登録しています。 ファイル一つ一つに、5つのバッチシーケンスを実行していますが この5つのバッチシーケンスを一度にまとめるバッチを 登録できないのでしょうか。 複数ファイルがあるので、バッチシーケンスをまとめると大変助かります。 5つの個別に登録している自動処理の指示を、1つのシーケンスにまとめる事は できないです。 別々のバッチシーケンスを、連続して実行するバッチシーケンスができれば ありがたいです。(バッチの入れ子?のようなイメージです) どうぞよろしくお願いします。

  • バッチファイルの同時起動を防ぎたい

    現在バッチファイルを二つ(A,B)作っております。 Aというバッチファイルを実行し完了するまで、Bというバッチファイルを実行させないようにしたいです。(逆も同様に) バッチの処理完了時間はA,B共に15秒~30秒程です。 いろいろと調べてみたのですがバッチの最初にロックファイルを作成し、実現しようかと思っています。(バッチ終了時にはロックファイルを消す処理も入れます。) また、ロックファイルを作成した後に意図せずwindowsが落ちた場合、ロックファイルが削除されず、ロックされたままになってしまう可能性もあると知りました。この場合ファイルのタイムスタンプを作成し、ロックファイルの更新日時と現在時刻の差分が1分以上ならば異常な処理があったとみなし、ロックファイルを削除をしようと考えています。 ここで質問なのですが、ロックファイルの作成はできたのですが、更新日時と現在時刻の差分をバッチで記述する方法がわかりません。調べはしたのですが、いまいちよくわからず。 どなたか、サイトまたはソースをご教授願います。 環境はwindows10です。

  • バッチファイルでプログラムを強制終了って・・・

    実行中のプログラムを強制終了させてしまうバッチファイルって 果たして作ることが可能なものでしょうか? アドバイスよろしくお願い致します。 対象環境はNT4サーバです。 やりたいことのイメージとしては、例えば、メモ帳でテキストを書き、そして 未保存状態で動かしっぱなしのところを、バッチで強制終了させてしまう、 そんな感じです。当然未保存云々と聞かれますけれども保存せずに強制終了!です。 (もしくは、タスクマネージャを起動し、そのアプリケーションタスクを 終了させる、と表現したほうが良いのでしょうか) ・・・果たしてそんなことってできるのでしょうか? とくにネットワークの処理は考え無く、単にそのNTマシン自身の話なのです。 よろしくお願いします。

  • VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで

    VBAから複数のバッチファイルを実行する際に、1つの処理が終了するまで次の処理を待機させる方法について こんにちは。VBA初心者です。 Shell関数を使って複数のバッチを連続して実行するプログラムを書きたいのですが、前のバッチ処理が終了する前に次のバッチが実行されてしまいエラーになってしまいます。 1つのバッチ処理が終了するまで、次の処理を待機させるようなことは可能でしょうか。 具体的には、B列に「test_01.txt」「test_02.txt」... といったファイル名が入力されていて、隣のA列に何らかの文字/記号があった場合は、指定されたバッチ(ファイル名.bat)が実行されるということをやりたいと考えています。 以下のようなプログラムを書いてみましたが、実行するバッチが複数になるとうまくいきせん。 どうしたら問題を回避できるか、ご教示いただけないでしょうか。 よろしくお願いします。 Sub バッチを実行() i = 7 'リストの開始行 Const myPath As String = "D:\sample_batch\"   Const endPath As String = ".bat"  For i = 7 To 200 '7行目から200行目まで実行 If Cells(i, 1).Value <> "" Then Shell (myPath & Cells(i, 2).Value & endPath) End If Next End Sub

  • 大量同時並行処理時のMySQL

    1年くらい前のモバゲーなどはあれだけのユーザとクエリをMySQLサーバ600台位で処理しているそうですが(レプリケーションを考えると実質1/3くらいでしょうが)、どのような工夫がほどこされているのでしょうか? SELECTよりも処理の重いINSERT、UPDATEも1秒間にもの凄い数が来ると思います。 並行処理プログラム等にてDBにアクセスを同時に大量に行う場合等にはどのようなハード構造や、システム設定にすればいいのでしょうか? 1台のDBサーバに複数のMySQLを入れたり、仮想化してOSを複数入れて、とかで対処しているのでしょうか? それとも特にそのような事をしなくても(特に更新系の)大量同時クエリを裁くだけの実力がMySQLにはあるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)