2.7.2 JP1/Scriptを終了する

JP1/Scriptの終了方法を説明します。

<この項の構成>
(1) マネージャの終了方法
(2) エディタの終了方法
(3) トレースビューアの終了方法
(4) メニューエディタの終了方法
(5) 実行しているスクリプトの強制終了方法
(6) JP1/AJS2からのJP1/Scriptの強制終了方法

(1) マネージャの終了方法

操作
  1. Scriptマネージャウィンドウで,[ファイル]-[マネージャの終了]を選択する
    マネージャ機能が終了します。

(2) エディタの終了方法

操作
  1. Scriptエディタウィンドウで,[ファイル]-[終了]を選択する
    エディタ機能が終了します。

(3) トレースビューアの終了方法

操作
  1. Scriptトレースビューアウィンドウで,[ファイル]-[トレースビューアの終了]を選択する
    トレースビューア機能が終了します。

(4) メニューエディタの終了方法

操作
  1. Scriptメニューエディタウィンドウで,[ファイル]-[終了]を選択する
    メニューエディタ機能が終了します。

(5) 実行しているスクリプトの強制終了方法

プロセスビューアを使って強制終了できます。

(6) JP1/AJS2からのJP1/Scriptの強制終了方法

JP1/AJS2からJP1/Scriptプロセスを強制終了する場合,SPTHTerminateを使用しています。dwOptionにはSPTH_TERM_CHILDを指定して,JP1/Scriptプロセスが起動した子プロセスも終了します。

また,起動した子プロセスがJP1/ScriptプロセスかJP1/Scriptプロセス以外かで終了される範囲が変わってきます。具体的には次の3パターンのようになります。

パターン呼び出し順序1.のJP1/AJS2プロセスが強制終了した場合に終了されるプロセスの範囲
パターン11.JP1/AJS2プロセス→2.JP1/Scriptプロセス→3.JP1/Scriptプロセス以外3.のプロセスまで
パターン21.JP1/AJS2プロセス→2.JP1/Scriptプロセス→3.JP/Scriptプロセス→4.JP1/Scriptプロセス以外4.のプロセスまで
パターン31.JP1/AJS2プロセス→2.JP1/Scriptプロセス→3.JP/Scriptプロセス以外→4.JP1/Scriptプロセス以外3.のプロセスまで
(4.のプロセスは終了されない)

ただし,JP1/AJS2からの強制終了要求から30秒経過してもJP1/Scriptプロセスが終了しない場合は,Win32 APIのTerminateProcess関数を使用してJP1/Scriptプロセスを強制終了します。TerminateProcess関数を使用した場合,子プロセスは終了されませんので,各パターンの「2.JP1/Scriptプロセス」だけが終了されることになります。

注意
強制終了は,スクリプトの開発時に使用することを目的としているため,実際の業務での使用はお勧めできません。