- PR -

タスクスケジュールの終了設定

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/07/16
投稿数: 3
投稿日時: 2004-09-21 17:08
こんにちは
2003サーバー上で、ある作業のログを取るプログラムを起動(VB)しています。
常駐系のプログラムなので
毎日1度起動させて、1度終了させたいのですが、
タスクスケジューラー上で、「タスクの継続」オプションを設定しても
どうやら効いていないようです。
以前、バッチファイルの場合の質問がありましたが、
やはりプログラム内部で終了時間を設定して
コーディングする必要があるのでしょうか。

まるちねす
ぬし
会議室デビュー日: 2004/04/28
投稿数: 302
投稿日時: 2004-09-23 10:53
exe ファイルなどでは exe -r など起動オプションを設定することにより、
起動後、仕事を終えたら自動終了などができるものもあります。
なのでオプション付でタスクを設定しとけば勝手に終了してくれます。

バッチファイルならexit /bとかで(別になくても)
コードを順次実行し終わったら(無限ループにでもなっていない限り)終了します。

そのプログラムが起動するだけで、自分で終了することができないなら、
(この表現がいいかどうか)
外部から終了させてやる必要があると思います。

XPや2003にはtaskkillというコマンドが用意されているので
プロセスを強制終了させることができます。
(スマートな方法かどうかはともかく)
バッチファイルに taskkill プロセス名 と書き
これまた、タスクスケジューラに登録しておけば可能と思われます。
あとは、やはり、プログラム内に時刻(**時**分)、あるいは間隔(30分)で
終了できる機能が組み込まれていなければ、厳しいのではないかと思います。
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-09-23 11:41
どんなことをしようとされているかわかりませんが、「ある作業」の
監視やログなら、なぜタスクスケジューラで時間起動するのでしょうか?
「ある作業」というのが特定できないならわかりますが、例えば開始時間
前に「ある作業」行われる事は無いのか、監視終了後に「ある作業」が
継続されていることが無いのか等気になるところです。

もし、「ある作業」というのが「あるモジュール」とかの事を指すので
あれば、そのモジュールが起動されるとき非同期で監視プログラムを
起動して、「終了」という状態が起これば、通知してやるほうがよろしい
かと思うのですが...
1

スキルアップ/キャリアアップ(JOB@IT)