Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 構築ガイド


15.2.17 JP1/AJS3から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する方法

UNIX環境でJP1/AJS3のキューレスジョブを除くUNIXジョブおよびアクションジョブを実行する場合,ジョブ実行OSユーザーが使用するログインシェルによっては,ジョブが起動失敗となる,異常検出終了となる,または意図しない実行結果になるおそれがあります。これは,JP1/AJS3から起動される子プロセスが,SIGCHLDシグナルを無視する設定(SIG_IGN)で起動されるためです。JP1/AJS3で設定される子プロセスのシグナルについては,「(3) JP1/AJS3で設定する子プロセスのシグナル」を参照してください。

注意事項
  1. JP1/AJS3またはJP1/AJS2 08-00以降を新規インストールする場合は,SIGCHLDシグナルを受信する設定(SIG_DFL)になっています。以降で説明している設定は必要ありません。

  2. JP1/AJS2 07-50以前のバージョンからJP1/AJS3またはJP1/AJS2 08-00以降にバージョンアップインストールする場合は,JP1/AJS2 07-50以前の設定が引き継がれます。SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する場合は,以降で説明する設定が必要です。

SIGCHLDシグナルを受信する設定(SIG_DFL)で該当するジョブを実行できるようにするための設定方法を次に示します。

なお,キューレスジョブ実行機能では,次に示す設定は必要ありません。キューレスジョブ実行時にキューレスエージェントサービスから起動される子プロセスは,SIGCHLDシグナルを受信する設定(SIG_DFL)で起動されます。

〈この項の構成〉

(1) 設定方法1

JP1/AJS3からこの問題に該当するアプリケーションを起動する場合は,ジョブ実行OSユーザーのログインシェルにsh,csh,ksh(Linuxの場合は,cshのほかにbashも使用できます)を使用する,またはそのシェルを経由してアプリケーションを起動させてください。

(2) 設定方法2

(a) 定義手順

  1. JP1/AJS3のサービスを停止する。

    次のコマンドを実行して,プロセスがすべて停止していることを確認します。

    # /etc/opt/jp1ajs2/jajs_stop
    # /opt/jp1ajs2/bin/jajs_spmd_status
    注※

    自動停止の設定がされていることを確認してください。

  2. 次のコマンドを実行して,「(b) 環境設定パラメーター一覧」の環境設定パラメーターを設定する。

    jajs_config -k "定義キー名" "環境設定パラメーター名"=定義内容
  3. JP1/AJS3を再起動する。

    設定した内容が反映されます。

注意事項

SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する場合,上記の設定をジョブ実行ホスト上で設定してください。

(b) 環境設定パラメーター一覧

表15‒35 JP1/AJS3から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する環境設定パラメーター

定義キー

環境設定パラメーター

定義内容

[{JP1_DEFAULT|論理ホスト名}\JP1NBQAGENT\Job]

"IsSigchldDefault"=

JP1/AJS3から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する定義

注※

{JP1_DEFAULT|論理ホスト名}の部分は,物理ホストの場合は「JP1_DEFAULT」を,論理ホストの場合は「論理ホスト名」を指定します。

環境設定パラメーターの定義内容の詳細については,「20.5.2(63) IsSigchldDefault」を参照してください。

(3) JP1/AJS3で設定する子プロセスのシグナル

表15‒36 JP1/AJS3で設定する子プロセスのシグナル

シグナル名

プロセス生成時の設定

動作

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(デフォルト)

B,G

SIGLOST

SIG_DFL(デフォルト)

A,G

(凡例)

A:デフォルトの動作は,プロセスの終了(terminate the process)

B:デフォルトの動作は,このシグナルの無視(ignore the signal)

C:デフォルトの動作は,コアダンプ(dump core)

D:デフォルトの動作は,プロセスのストップ(stop the process)

E:キャッチできないシグナル

F:無視できないシグナル

G:POSIX.1に準拠しないシグナル

H:無視

I:デフォルトの動作は,プロセス停止からの再開(restart the process)

注※1

JP1/AJS3またはJP1/AJS2 08-00以降のバージョンを新規インストールした場合は,SIGCHLDシグナルを受信する設定(SIG_DFL)が設定されます。

注※2

JP1/AJS2 07-50以前からJP1/AJS3またはJP1/AJS2 08-00以降へバージョンアップインストールした場合は,SIGCHLDシグナルを無視する設定(SIG_IGN)が設定されます。