UNIX環境でJP1/AJS2のUNIXジョブ※,アクションジョブを実行する場合,ジョブの実行ユーザーが使用するログインシェルによっては,ジョブが異常終了したり,意図しない実行結果になったりすることがあります。これは,JP1/AJS2から起動される子プロセスが,SIGCHLDシグナルを無視する(SIG_IGN)設定で起動されるためです。SIGCHLDシグナルを受信するデフォルト(SIG_DFL)で実行できるようにするための設定方法を次に示します。なお,JP1/AJS2で設定される子プロセスのシグナルについては,「(3) JP1/AJS2で設定する子プロセスのシグナル」を参照してください。
(1) 設定方法1
JP1/AJS2から上記に該当するアプリケーションを起動する場合は,ジョブ実行ユーザーのログインシェルにsh,csh,ksh(Linuxの場合はcsh)を使用する,またはそのシェルを経由してアプリケーションを起動させてください。
(2) 設定方法2
(a) 定義手順
# /etc/opt/jp1ajs2/jajs_stop※
# /opt/jp1ajs2/bin/jajs_spmd_status
jbssetcnf 設定ファイル名
(b) 定義パラメーター一覧
表16-31 JP1/AJS2から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する定義パラメーター
定義キー | 環境設定パラメーター | 定義内容 |
---|---|---|
[{JP1_DEFAULT|論理ホスト名}¥JP1NBQAGENT¥Job]※ | "IsSigchldDefault"= | JP1/AJS2から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する定義 |
(c) 定義内容
(3) JP1/AJS2で設定する子プロセスのシグナル
表16-32 JP1/AJS2で設定する子プロセスのシグナル
シグナル名 | プロセス生成時の設定 | 動作 |
---|---|---|
SIGHUP | SIG_DFL(デフォルト) | A |
SIGINT | SIG_DFL(デフォルト) | A |
SIGQUIT | SIG_DFL(デフォルト) | A |
SIGILL | SIG_DFL(デフォルト) | A |
SIGTRAP | SIG_DFL(デフォルト) | C,G |
SIGIOT | SIG_DFL(デフォルト) | C,G |
SIGEMT | SIG_DFL(デフォルト) | G |
SIGFPE | SIG_DFL(デフォルト) | C |
SIGBUS | SIG_DFL(デフォルト) | A,G |
SIGSEGV | SIG_DFL(デフォルト) | C |
SIGSYS | SIG_DFL(デフォルト) | G |
SIGPIPE | SIG_DFL(デフォルト) | A |
SIGALRM | SIG_DFL(デフォルト) | A |
SIGTERM | SIG_DFL(デフォルト) | A |
SIGUSR1 | SIG_DFL(デフォルト) | A |
SIGUSR2 | SIG_DFL(デフォルト) | A |
SIGCHLD | SIG_DFL(デフォルト)※1 | B |
SIG_IGN(無視)※2 | H | |
SIGPWR | SIG_DFL(デフォルト) | A,G |
SIGVTALRM | SIG_DFL(デフォルト) | A,G |
SIGPROF | SIG_DFL(デフォルト) | A,G |
SIGIO | SIG_DFL(デフォルト) | A,G |
SIGWINCH | SIG_DFL(デフォルト) | B,G |
SIGTSTP | SIG_DFL(デフォルト) | D |
SIGCONT | SIG_DFL(デフォルト) | I |
SIGTTIN | SIG_DFL(デフォルト) | D |
SIGTTOU | SIG_DFL(デフォルト) | D |
SIGURG | SIG_DFL(デフォルト) | BG |
SIGLOST | SIG_DFL(デフォルト) | AG |