Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 導入ガイド


5.4.6 ジョブ起動時のログインシェル(UNIXジョブ,フレキシブルジョブ,HTTP接続ジョブ,アクションジョブ)

実行ホスト(エージェント)がUNIXの場合,ジョブ起動時,ジョブ実行先エージェントホストの実行OSユーザーのログインシェル(/etc/passwdファイルの内容)を実行します。ログインシェルが定義されていない場合は,/bin/shを実行します。JP1/AJS3では,ログインシェルとしてshcshkshが使用できます(Linuxの場合は,cshのほかにbashも使用できます)。これら以外のシェルを使用した場合のログインシェルの注意事項を次に示します。

〈この項の構成〉

(1) UNIXジョブ,フレキシブルジョブの場合の注意事項

ログインシェルにshcshkshbash以外を使用すると,OSによってはログインスクリプトが実行されない場合があります。その場合,ジョブの実行ユーザーの環境変数の設定が反映されないために,ジョブが異常終了したり,意図しない実行結果となったりすることがあります。

この現象を回避するために,ジョブのスクリプトに必要な環境変数の設定を明記してください。なお,ジョブ実行時に必要な環境変数が正しく設定されているかどうかを確認するには,envコマンドの実行結果をファイルに書き出すようなシェルスクリプトを作成し,そのスクリプトをジョブとして実行したときに出力されたファイルの内容を参照してください。

(2) ジョブ共通の注意事項

bashのように,一部のシェルではシグナル処理をデフォルトの状態に初期化しないものがあります。そのため,ジョブが異常終了したり,意図しない実行結果となったりすることがあります。その場合は,shcshkshのどれかを使用する運用方法に変更してください。

または,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 15.2.17 JP1/AJS3から起動される子プロセスを,SIGCHLDシグナルを受信する設定(SIG_DFL)に変更する方法」に従って設定することで,シグナル処理をデフォルト状態に設定できます。なお,バージョン08-00以降のJP1/AJSを新規インストールした場合は,SIGCHLDシグナルを受信するデフォルト(SIG_DFL)でジョブを実行する設定になっているので,運用方法を変更する必要はありません。