Windows のタスク スケジューラはスクリプトの実行を決して停止しません。こんにちは、みんな
日報をHTMLファイルで出力するスクリプトを作成しました。 Windows 10のタスクスケジューラを使用してjslを毎日実行しています。私は持っている
アクション: "C:\Program Files\SAS\....\14\jmp.exe"、場所: "C:\....\myscript.jsl"
スクリプト内のすべてのテーブルを閉じて、Quit("no save"); としました。しかし、ジョブは結果が得られずに永久に実行され、停止します。
解決策や手がかりはありますか?
ありがとう
自動化とスクリプト作成結果の共有と伝達Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ありがとう。
私はそれをやりました、そしてそれはうまくいきました。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。皆さんのご協力に感謝します。 Jslファイルのドライブをプライベートドライブに変更するとうまくいきました。 問題は許可の問題だったようです。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ありがとう、ライアン。
システム スケジューラを使用して同じスクリプトを実行してみました。タスク スケジューラはタスクを開いてタイムアウトします。システム スケジューラでは、より説明的なエラー メッセージが表示されました。私が働いている会社ではすべてのファイルがクラウド上で同期されており、これらのファイルはどちらのスケジューラー アプリからも開くことができませんでした。クラウドに同期されていないハード ドライブの場所にファイルを直接移動すると、スクリプトはシステム スケジューラで正常に実行されました。
したがって、それは権限の問題であるように見えました。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。私の経験から、スケジュールされたタスクの範囲外でスクリプトが実行される場合は、次の点を確認します。
- 権限。 スケジュールされたタスクには、JMP を対話的に実行するときと同じ権限がありますか?
- ファイルの場所。 ファイルへの参照は正しいですか? おそらくデフォルトのディレクトリは、スケジュールされたタスクを実行する場合と手動で実行する場合では異なるのでしょうか?
- 環境設定。 タスクを実行するときの JMP 設定は、手動で実行するときと同じですか?
別の可能性としては、スクリプトが JMP を終了するかどうかです。
「hello world」タイプのスクリプトから始めて、それをスケジュールされたタスクとして機能させることをお勧めします。 その後、現在のスクリプトに進むことができます。
役立つと思われるその他のリソースがいくつかあります。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。JMP 14.3を使用してWindows 10でJSLスクリプトを実行しようとすると、同様の問題が発生します。JMP 内で手動でトリガーすると 1 分未満で実行されるスクリプトは、1 時間後にタスク スケジューラでイベント ID 329 (タイムアウト) でタイムアウトします。最初に JMP を開いてから、タスク スケジューラ アクションでスクリプトを開こうとしましたが、問題は解決されません。助けていただければ幸いです。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ファイル名には拡張子がまったく付いていないようです、「C:\Users\a...\OneDrive」。 これは、.JSL ファイルというよりもフォルダー名に似ています。 それが実際にクラウド上の MS OneDrive ファイルである場合は、私よりも他の誰かがうまく助けてくれるかもしれません。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ありがとう@Craige_Hales
(「ユーザーがログインしているときのみ実行する」) だけを使用すると、JMP ウィンドウが表示され、あいまいなデータ ソースに関するエラーが表示されることがわかりました。 しかし、実行を終了すると、JMP を終了してすべてを閉じるように求められます。
ファイルの関連付けもリセットしましたが、やはり同じでした。
スクリプトを確認したところ、jsl でした。
(ユーザーがログインしているかどうかに関係なく実行する) をマークすると、「実行中」と表示されるだけで、JMP ウィンドウは開きません。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。「」でグーグル検索不明または曖昧なデータ ソース" は 2 つのヒットを生成します。これとhttps://community.jmp.com/t5/Discussions/Can-JMP-call-a-DOS-Exe/td-p/689/page/2これは、使用している拡張子のファイルの関連付けに問題があることを示唆しています。
ファイルは .JSL ファイルである必要があります。 また、環境設定に移動して、ファイルの関連付けをリセットしてみることもできます (環境設定のウィンドウ固有のセクション)。
私たちは、あなたが見ているものの良い写真を見る必要があります。 また、JMP ウィンドウが開いていないのに、なぜ JMP がまだ実行されていると考えるのかも不明です。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ありがとうライアン
「こんにちは」のスクリプトを試してみました。 JMP は起動しましたが、スクリプト パスに関するこのエラーが表示されました。 問題がないことを確認するためにパスを変更しましたが、再びエラーが発生しました。
ファイル「C:\Users\....」を開けません。
不明または曖昧なデータ ソース。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。また、タスクが実行されている権限を確認することをお勧めします。
次のステップは、「hello world」タイプのスクリプトを作成し、動作していないものと同じパラメータを使用してスケジュールされたタスクとして実行することです。 それが機能する場合は、スケジュールされたタスクとして失敗するまでスクリプトの再構築を開始します。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。タナクス@Ryan_Gilmore 。同じ設定をしていますが、まだ動作しません
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。この問題が発生した場合は、マシン上で JMP を開いてスクリプトを実行します。 多くの場合、それは、開発マシン上と同じように設定されていない環境設定、またはスクリプトが存在すると想定しているファイル/ディレクトリが欠落していることです。
これは私が設定したスケジュールされたタスクの例です。

Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。実行中、JMP ウィンドウは開きません。見えるのはスケジューラーウィンドウだけです。

Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。JMP ウィンドウはまだ開いていますか? タスクバー上で最小化されているのでしょうか? JMP メニューにアクセスして、「表示」->「ログ」にアクセスできますか?
Alt-Tab キーを押しながら移動できる隠しダイアログはありますか? JMP はループ中ですか? Esc キーでループは停止しますか?
あなたが見ているものの写真を共有してもらえますか?
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ありがとう@Craige_Hales
CMD で完全に実行できます。
タスク スケジューラは実行を停止しないため、ログ ファイルを提供しません。
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。ファイル名 (Program Files) にスペースが含まれていることが、機能しない原因である可能性があります。 おそらく、先ほど示したものと同様の引用符が必要になるでしょう。
"C:\Program Files\SAS\JMPPRO\14\jmp.exe" "C:\....\myscript.jsl"
もう 1 つの質問: スケジューラが JMP を開始した後、JMP が停止しなかった場合、JMP ログ ウィンドウには何が表示されますか?
Re: Windows のタスク スケジューラがスクリプトの実行を停止しません。CMDでそれをやったことがないので試してみましたが、コマンドが認識されませんでした。
私のJMPのパスは
C:\Program Files\SAS\JMPPRO\14\jmp.exe
スクリプトは別のパスにありますRe: Windows のタスク スケジューラがスクリプトの実行を停止しません。CMD ウィンドウからスクリプトを実行した場合、JMP は結果を生成し、正しくシャットダウンしますか? プロンプトから、次のことができるはずです。

echo コマンドは非常に短いファイルを作成するだけで、JMP がそれを実行します。 JMP が数秒間開いてから消えます。
JMP への正しいパスは、デスクトップ アイコンのプロパティから取得できます。 私の道(上)は通常の道ではありません。 振り返ってみると、スクリプト インデックスで quit() を調べて、そのパラメーターがどのようなものであるかを確認する必要があります...