質問: こんなのdosバッチで組めるでしょうか windowsnt4sp5です。 タスクスケジューラで朝から晩まで数分おきに動いている既存のdosバッチがあり、そのなかで起動しているあるプログラムがたまにハングアップしてバッチがそこで止まったままになることがあります。 プログラムの性格上、そうなるとサーバーの再起動が必要でして、手動で行っています。 本来そのプログラム自体をなんとかするのが当たり前なのですが、事情があってそれは出来ません。 で、リモートからではありますがいちいち手動で再起動するのが面倒なので、そうなった場合に自動でサーバーを再起動させたいと思います。 プログラムは通常5分程度で終了するので、プログラムの処理の前行にatコマンドを書いて現在時刻の10分後とかにシャットダウンスケジュールをし、プログラム処理の後行にそのスケジュールを消す事を考えました(他にatは無いのでid0のスケジュールを消すコマンドを書く)。しかしこの場合、「現在時刻の10分後の時間でスケジュール」という部分がどうやったらいいのかわかりません。 別にatにこだわるつもりもないのですが、サードパーティ製のプログラム(フリー含む)は使えません。マイクロソフト物であればリソースキットもサーバーツールも使えるのですが・・ このような事を達成できる方法や情報をお持ちの方がいらしたら是非おしえていただけませんでしょうか。
回答: あと、処理方法の案も。 1.atより定期的にスクリプト1を実行 2.起動したスクリプト1より、アプリを実行するスクリプト2(バッチでも可)を実行。終了は待たない(非同期)。 3.スクリプト1で10分待つ。 4.スクリプト2でアプリを実行。終了を待つ(同期)。終了したら終了フラグとなるファイルを作成しておく。 5.スクリプト1が10分たって再開したら、終了フラグの有無をチェックする。 6.フラグがあったらそのまま終了。フラグがなかったらリブート開始。 #普通のバッチコマンドだけですと、3ができないんですよねぇ。