JP1/Automatic Job Management System 2 セットアップガイド

[目次][用語][索引][前へ][次へ]


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

UNIX環境でJP1/AJS2のUNIXジョブ,アクションジョブを実行する場合,ジョブの実行ユーザーが使用するログインシェルによっては,ジョブが異常終了したり,意図しない実行結果になったりすることがあります。これは,JP1/AJS2から起動される子プロセスが,SIGCHLDシグナルを無視する(SIG_IGN)設定で起動されるためです。SIGCHLDシグナルを受信するデフォルト(SIG_DFL)で実行できるようにするための設定方法を次に示します。なお,JP1/AJS2で設定される子プロセスのシグナルについては,「(3) JP1/AJS2で設定する子プロセスのシグナル」を参照してください。

注※
ジョブの実行先サービスに[JP1/AJS2 Queueless Agent]を指定した場合を除きます。

注意事項
  • JP1/AJS2 08-00以降を新規インストールする場合は,SIGCHLDシグナルを受信する設定になっています。以降で説明している設定は必要ありません。
  • JP1/AJS2 07-50以前のバージョンからJP1/AJS2 08-00以降をバージョンインストールする場合は,JP1/AJS2 07-50以前の設定が引き継がれます。SIGCHLDシグナルを受信する設定に変更する場合は,以降で説明する設定が必要です。
<この節の構成>
(1) 設定方法1
(2) 設定方法2
(3) JP1/AJS2で設定する子プロセスのシグナル

(1) 設定方法1

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

(2) 設定方法2

(a) 定義手順

  1. JP1/AJS2のサービスを停止する。
    次のコマンドを実行して,プロセスがすべて停止していることを確認します。
     
    # /etc/opt/jp1ajs2/jajs_stop
    # /opt/jp1ajs2/bin/jajs_spmd_status
     

    注※
    自動停止の設定が行われていることを確認してください。
  2. viなどのテキストエディターで,(b)の定義パラメーターを記述した設定ファイルを作成する。
    設定ファイルのファイル名は任意です。
  3. ファイルを保存し,次のコマンドを実行する。
     
    jbssetcnf 設定ファイル名
     
    jbssetcnfコマンドのパスは,「/opt/jp1base/bin/jbssetcnf」です。
    jbssetcnfコマンドの詳細については,マニュアル「JP1/Base 運用ガイド」を参照してください。
  4. JP1/AJS2を再起動する。
    設定ファイルに記述した内容が反映されます。

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

(b) 定義パラメーター一覧

表16-31 JP1/AJS2から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する定義パラメーター

定義キー 環境設定パラメーター 定義内容
[{JP1_DEFAULT|論理ホスト名}\JP1NBQAGENT\Job] "IsSigchldDefault"= JP1/AJS2から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する定義

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

(c) 定義内容

"IsSigchldDefault"=dword:00000000|00000001
SIGCHLDを受信するデフォルト(SIG_DFL)で実行するかどうかを指定します。

0
SIGCHLDシグナルを無視する場合に指定します。

1
デフォルト(SIG_DFL)で実行する場合に指定します。
デフォルトは「0」です。
このパラメーターは,JP1/AJS2の新規のインストール時および新規のセットアップ時に「1」が設定されます。

(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

(凡例)
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/AJS2 08-00以降のバージョンを新規インストールした場合はSIG_DFL(デフォルト)が設定されます。

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

[目次][前へ][次へ]


[他社商品名称に関する表示]

Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.