|
167) 起動中プログラムの操作について hirary 2003/02/26(水) 10:39 |
|
はじめまして、本掲示板、大変参考になっております。 さて、早速質問ですが、 当方、利用環境はWindows2000です。 バッチから、あるプログラムAを別プロセスとして起動します。 start /wait A.exe ・・・後処理B Aプログラムの処理は数秒~1分にて完了するので、Aが終了した後に後処理をさせたいのですが、場合によってはプログラムAが終了しない場合があります。(DeadLock,無限ループ等) その場合にAを強制終了させて後処理Bを動かす方法を考えています。 (案) プログラムAが開始されてから60秒カウントして、まだAが動いていたら、強制的にAを終了させる。 ここで質問ですが、、 ①あるプログラムが動いてるかどうかを判定する良い方法はあるのでしょうか? ②A.exeをバッチから終了させる方法はあるのでしょうか? 以上、長々と書いてしまいましたがアドバイスの程、宜しくお願いいたします。 |
|
176) Re:起動中プログラムの操作について YanaKen 2003/02/28(金) 14:46 |
|
hirary さん こんにちは。 >①あるプログラムが動いてるかどうかを判定する良い方法はあるのでしょうか? >②A.exeをバッチから終了させる方法はあるのでしょうか? セットアップCD-ROMにオマケでついてる"Support Tools"というのがあります。 下記の手順でセットアップできます。 1. Windows 2000 CD-ROM をセット。 2. 「Microsoft Windows 2000 CD」画面が起動するので、[この CD を参照(B)] をクリック。 3. Support\Tools フォルダにある Setup.exe をダブルクリック。 セットアップが完了すると、(デフォルトでは) "\Program Files\Support Tools"というディレクトリにいろんな追加コマンドがインストールされ、PATHも自動的に設定されるので、コマンド・プロンプトで常時使えるようになります。 ご質問の(1)に対応しそうなものとしては "tlist"というコマンドがあり、実行中のタスクの一覧が得られます。 (2)に向いたものとしては"kill"コマンドがあります。 いずれも、WindowsXPでは前者はTASKKILL、後者はTASKLISTという名のコマンドとして標準で使えるようになっています。 ↓関連発言のURL http://fpcu.on.coocan.jp/dosvcmd/bbs/log/taskkillstart/1-0534.html [個人homepage ]http://homepage3.nifty.com/yanaken/ [@pay窓口 ]http://pay.nifty.com/pay/servlet/pr?i=BDKQ048560 [@pay導入について]http://bbs1.nifty.com/mes/cf_wrent/FPCU_B017/ |
|
179) Re2:起動中プログラムの操作について YanaKen 2003/02/28(金) 14:53 |
|
> ご質問の(1)に対応しそうなものとしては "tlist"というコマンドがあり、実行中のタスクの一覧が得られます。 > (2)に向いたものとしては"kill"コマンドがあります。 > いずれも、WindowsXPでは前者はTASKKILL、後者はTASKLISTという名のコマンドとして標準で使えるようになっています。 訂正。「前者」と「後者」が逆ですね(^^;。 YanaKen |
|
180) Re2:起動中プログラムの操作について hirary 2003/03/03(月) 11:02 |
|
YanaKenさん、アドバイスありがとうございました。 (レスが遅れて申し訳ありません) YanaKenさん、推奨のtlistで目的のプログラムが起動している ことを判定し、起動している場合は、kill にて プロセスを削除して無事、次の処理に移行することができました。 丁寧なアドバイスありがとうございます、おかげさまで解決しました。 「追加コマンド」の存在は初めて知りました。他にも使えそうなツールが追加されましたので、いじってみます。 今後もよろしくお願いいたします。 >hirary さん こんにちは。 > >>①あるプログラムが動いてるかどうかを判定する良い方法はあるのでしょうか? >>②A.exeをバッチから終了させる方法はあるのでしょうか? > > セットアップCD-ROMにオマケでついてる"Support Tools"というのがあります。 > 下記の手順でセットアップできます。 > >1. Windows 2000 CD-ROM をセット。 >2. 「Microsoft Windows 2000 CD」画面が起動するので、[この CD を参照(B)] をクリック。 >3. Support\Tools フォルダにある Setup.exe をダブルクリック。 > セットアップが完了すると、(デフォルトでは) "\Program Files\Support Tools"というディレクトリにいろんな追加コマンドがインストールされ、PATHも自動的に設定されるので、コマンド・プロンプトで常時使えるようになります。 > > ご質問の(1)に対応しそうなものとしては "tlist"というコマンドがあり、実行中のタスクの一覧が得られます。 > (2)に向いたものとしては"kill"コマンドがあります。 > いずれも、WindowsXPでは前者はTASKKILL、後者はTASKLISTという名のコマンドとして標準で使えるようになっています。 > >↓関連発言のURL >http://fpcu.on.coocan.jp/dosvcmd/bbs/log/taskkillstart/1-0534.html > >[個人homepage ]http://homepage3.nifty.com/yanaken/ >[@pay窓口 ]http://pay.nifty.com/pay/servlet/pr?i=BDKQ048560 >[@pay導入について]http://bbs1.nifty.com/mes/cf_wrent/FPCU_B017/ > |