• ベストアンサー

タスクスケジューラで失敗と判断させるには

VC++のプログラムをタスクスケジューラか ら起動し、プログラム内部でエラーとなっ た場合、タスクスケジューラのタスク失敗 時に再実行する機能でリトライさせたいの ですが、普通にプログラムを「exit 1; 」で 終了させると、正常終了という扱いになるようです。どのように書けば、タスクスケ ジューラでタスク失敗と判断させられるで しょうか。

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

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

実行するプログラムでいくらエラー出力しようが タスクスケジューラとしてエラーにはならないと思います やるなら自分でスケジュール削除・再登録するしかないんではないでしょうか

matori46
質問者

お礼

回答いただき、ありがとうございました。 やはり無理なんですね。自前での作成を検討致します。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.2

Cでプログラムを書けるなら、 「そのプログラムを呼び出して、リターンコード0でなければもう一度呼び出す」 というプログラムを書いて、間に挟めば良いのでは?

matori46
質問者

お礼

回答いただき、ありがとうございました。そのようにすれば実現できるのは分かるのですが、せっかくタスクスケジューラに機能があるので使いたいと考えた次第です。

関連するQ&A

  • ”0xc0000142”のエラーでタスクスケジューラ実行中で固まる

    WinXPのタスクスケジューラでバッチが実行できません。 “タスク実行中”で止まってしまい、”0xc0000142”のエラーです。 タスクスケジューラから手動でタスクを実行出来、さらにログオンしていれば設定時間が来ると正常にジョブが流れます(当然、スケジューラはログオンしていなくても流れる様にチェックボックスは設定済み) バッチのログを取って調べてみると、MsAccessを起動する個所で止まっています。その行をコメントにすると正常終了。 アプリケーションの初期化失敗みたいです。Accessのファイルを別のものに替えてもダメ。レジストリを開いてサイズチェックOK。同サーバでAccessを起動する他のジョブは正常終了。正常に流れるバッチをコピーしてファイル名を変えてもダメ。 手詰まり状態です。どうすればいいか教えてください。

  • タスクスケジューラについて

    初めてこのサイトを利用します。 タスクスケジューラの挙動について質問です。 あるバッチファイルを1時間に1回実行するためのタスクを作成しました。思った動きをせず詰まったためご教示していただきたく、宜しくお願い致します。 事象:タスクスケジューラで設定したタスクでバッチを実行すると何時間たっても処理が完了しない 詳細 ①単体(手動での実行)ではバッチは動き処理は40分ほどで完了しファイルも反映されます。 ②タスクスケジューラの設定で ・ログオンしているときのみ実行をチェックすると ログオンしていませんとタスクの実行履歴欄に表示されてタスクは実行されません。 ただし、たまに実行される時があります。おそらくこれがログオンしているタイミングかと予想しています。 ・ログオンしていない場合でも実行する必要があるため、 ログオンしているかどうかにかかわらず実行するをONにすると何時間たっても処理が完了しません。タスクは実行中の状態でエラーも出ません。バックグラウンドで監視していてもパワーシェルは動いておらずファイルは反映されません。 ※1 ➄には常にチェックをつけています 付けていなくてもつけていても上記の事象に変わりはありません ※2 バッチファイルはCドライブに保管 タスクスケジューラの実行するプログラムの開始欄にパスも記載済 こちらの事象についてログオンしているかどうかにかかわらず実行するをONにした場合でも処理が正常に終了させる方法があれば教えていただきたく宜しくお願い致します。 ※備考 バッチファイルの中身は、32bit版powershellを起動し指定のコマンドを打ち込み実行 という処理を開始するものです。 現在、AzureFileSyncというAzure上のファイルと外付け機器とのファイル同期サービスを使用しているのですが、変更履歴をチェックする周期が24時間に1回の為、即時で反映させたいときに不便です。そこで、Microsoftより配布されている即時反映用のコマンドをパワーシェルで打ち込んで実行するバッチファイルを作成しこれをタスクスケジューラで設定しようと試みている最中でこの事象にぶつかりました。

  • タスクスケジューラの設定について

    お世話になります。 毎日定時(1:00)にタスクスケジューラにてプログラムを 実行しており、プログラムの実行が完了したときに ポップアップにてメッセージ表示しております。 ※タスクを実行しているPCに毎日ログオンしポップアップを  確認している訳ではありません。 本日、たまたま当該タスクの履歴を確認したところ、たまに タスクの起動エラーとなっていることが発覚しました。 調べたところ、タスクの完了日時がポップアップの「OK」を 押したタイミングということが分かりました。 要するに、「OK」が押されてない状態で、翌日タスクが実行 されたときにエラーになっていたようです。 ※結局、この連休中も「OK」が押されずにいたので、連日  エラーになってました。 エラー(警告)は  「タスクスケジューラは、 タスク○○○を起動しませんでした   同じタスクのインスタンスxxxが既に実行されているためです。」 です。 恐らく、ポップアップを表示させなくすれば良いだけかとは 思うのですが、メッセージの内容としては「yyyymmdd分の 処理が完了しました。」というようなものですので、出来れば 表示させたいところです。 そこで質問ですが、タスクの「設定」タブを見ると、「タスクが既に 実行中の場合に適用される規則」というものがあり、そこに 『新しいインスタンスを並列で実行』が選べるようになってます。 ※デフォルトは『新しいインスタンスを開始しない』が選択されてます。 『新しいインスタンスを並列で実行』を選択することにより、上記が 解消されると思うのですが如何でしょうか。 ご教示の程、宜しくお願い致します。

  • windowsのタスクスケジューラを使用して、

    windowsのタスクスケジューラを使用して、 jarを実行したいのですが、 Could not find the main class C:\~パス~\test.jar.Program will exit. とエラーが出てしまい実行できません。 マニフェストファイルへの記述も行いましたし、 普通にダブルクリックでの起動は出来ています。 いったい何がいけないのでしょうか?

    • ベストアンサー
    • Java
  • タスクスケジューラについて

    お世話になります。  Windows7 Pro タスクスケジューラにて定時に特定のサイトへアクセスし、ソースをダウンロードしてます。 先日、タスクが実行されなかった為、確認したところ、Windowsにログオンしてなかったことが原因と判明しました。 そこで、タスクの設定で『ユーザーがログオンしているときのみ実行する』を『ユーザーがログオンしているかどうかにかかわらず実行する』に変更すればよいかと思ったのですが。。 この場合、どのユーザー(プロファイル)で実行されるのでしょうか。 当該PCはユーザーAのプロファイルしかありません。タスクにて実行するプログラムは、ユーザーAのプロファイル上で実行することを前提に作り込んでおります(ソースのダウンロード先フォルダやブラウザの設定など)。 このように、プロファイルに依存するようなタスクは『ユーザーがログオンしているどうかにかかわらず・・・』は使えないのでしょうか。 ご教授の程、宜しくお願い致します。

  • Windows VISTA のタスクスケジューラに似たフリーソフトを探しています。

     Windows Vista搭載PCとWindows XP搭載PCを使用しています。  Windows Vista標準の「タスクスケジューラ」は様々な機能があり、使ってみると便利で重宝しています。一方、Windows XP標準の「タスク」は機能不足で使えません。  XPでもVista並みの作業を行いたいため、Vistaのタスクスケジューラと同じような機能があるソフトを探しています。 使いたい機能 (1)コンピュータ起動時にタスクを実行できる(スタートアップ等)。 (2)タスクで複数のアプリケーションを起動し、各アプリケーション間での連動が可能(終了まで待機、並列処理等) (3)再起動、終了、ログオフなど

  • タスクスケジューラのパスワードについて

    WinXPでタスクスケジューラを使いプログラムを自動的に起動したいんですがパスワードが設定されてないためタスクが実行されません!!ってなります。 パスを設定するとPCを起動するときパスを入力したりアカウントを選んだりしないといけないんでいやです。 でっ、 (1)パスを設定しないでタスクを実行する方法 (2)アカウントが何個もあっても1個のアカウントを絶対強制的に起動する方法 を知ってるよって方がいたらどーか教えてくださいっ!!! おねがいしま~すっ!!!ぴょんぴょん!!

  • タスクスケジューラとRobocopy

    Robocopyコマンドを用いて、タスクスケジューラにて、HDDのファイルを、USBメモリに、毎日バックアップするように設定しました。 USBメモリをみると、こちらの目論見通り、毎日更新されているようなのですが、前回の実行結果のところが、いつも0X1のエラー表示になって、他のタスクのように、「正常に終了しました」という表示になりません。 設定時には、トリガー、操作といったタブ項目は設定しましたが、条件、設定のタブ項目あたりは、何も触っていません。 どういった事象が考えられるでしょうか。このまま放置しておいても大丈夫でしょうか。詳しい方にお応えいただければ幸いです。

  • タスクスケジューラでEXEが動かない

    教えて下さい。 あるEXE(VisualSutudiio2005でつくった)を、 タスクスケジューラで自動実行させようとしたのですがうまく動きません。 (スケジューラからバッチファイルを起動してバッチファイルないでEXEを起動しています) 正常に終了したかのうように終わってしまいます。 ※バッチファイルを普通に実行した場合は正常に動作します。 何が原因なのでしょうか? どうすれば自動実行できるようになるのでしょうか? よろしくお願い致します。

  • タスクスケジューラとWindowsUpdateについて

    お世話になっております。 現在98は、Windowsのバグ?とか不具合とかであたらしくWindowsUpdateの項目がでていたりするんでしょうか?もうサポートは終わったとか聞いているので、でていないですよね? もう更新プログラムはでていないとすると、 Windowsの自動更新プログラムをダウンロードすると、 タスクスケジューラで自動実行させたりしますが、 その機能もいらないですよね?

専門家に質問してみよう