4.8. その他のジョブ操作

ジョブへのシグナル送信#

ユーザーは実行中(RUNNING状態)のジョブに対し、pjsigコマンドでシグナルを送信できます。

$ pjsig -s [シグナル] [ジョブID]

シグナルは、シグナル名(SIGHUPなど)またはシグナル番号(1から64まで)で指定します。

以下はジョブに対してシグナルSIGKILL (シグナル番号9)を送信する例です。

$ pjsig -s 9 1                         # シグナルをシグナル番号で指定
[INFO] PJM 0700 pjsig Accepted job 1.
$ pjsig -s SIGKILL 2                   # シグナルをシグナル名で指定
[INFO] PJM 0700 pjsig Accepted job 2.

ジョブの固定と固定解除#

実行中のジョブをpjdelコマンドで削除すると、ジョブは終了し、再度実行するためにはジョブの投入をやり直さなければいけません。pjholdコマンドを使用すると、ジョブは中断し、実行結果は破棄されますが、投入された状態は保持されます。これを「ジョブの固定」と呼び、この状態をHOLD状態と呼びます。

HOLD状態を解除するにはpjrlsコマンドを使用します。これにより、ジョブは再度スケジューリングされ、最初から実行されます。ジョブ実行中にシステムの停止があるような場合、一旦、ジョブを固定し、運用再開後に固定を解除することでジョブ投入の手間を省けます。

以下はジョブの固定と固定解除の例です。

$ pjhold 1 2
[INFO] PJM 0300 pjhold Accepted job 1.
[INFO] PJM 0300 pjhold Accepted job 2.
$ pjstat -v 1-2
JOB_ID JOB_NAME MD ST USER ... REASON
1 jobname1 NM HLD user1 ... user1
2 jobname2 NM HLD user1 ... user1
$ pjrls 1 2
[INFO] PJM 0400 pjrls Job 1 released.
[INFO] PJM 0400 pjrls Job 2 released.
$ pjstat -v 1-2
JOB_ID JOB_NAME MD ST USER ... LST ... REASON
1 jobname1 NM QUE user1 ... HLD ... -
2 jobname2 NM QUE user1 ... HLD ... -

ジョブの固定に関する注意事項

pjholdコマンドはジョブ運用管理機能へジョブの固定依頼をすると復帰します。ジョブの固定処理はpjholdコマンドの復帰とは非同期で処理されます。

ジョブのパラメーター変更#

投入したジョブに対して、pjalterコマンドで変更できるパラメーターを以下に示します。

  • -Lオプション
    • ジョブの経過時間制限値(elapse)
    • ジョブを実行するリソースグループ(rscgrp)
$ pjalter [-L | --rsc-list] [資源名=] [jobid]

ジョブのパラメータ―変更に関する注意事項

  • ジョブのパラメーターは、ジョブの状態がQUEUEDHOLD、またはERRORの場合に変更できます。
  • ジョブの投入先を異なるシステム(リソースユニット)に変更することはできません。同一システムのリソースグループにのみ変更できます。
  • バルクジョブのサブジョブID指定は、経過時間制限値の変更時だけ可能です。
  • ジョブを実行するリソースグループを変更する場合、ジョブを投入したユーザーに対してジョブACL機能の設定が以下になっている必要があります。

    • ジョブの投入時に指定されている資源量は、変更先のリソースユニットやソースグループにおいても上限値と下限値(pjsub optionparametersupperlower)の範囲に収まっている必要があります。

      上記をpjaclコマンドで確認するときは、変更先のリソースユニットおよびリソースグループを指定してください。

      $ pjacl --rscunit [リソースユニット] --rscgrp [リソースグループ]

  • パラメーターを変更すると、ジョブは再度スケジューリングされ、変更したパラメーターが適用されます。ジョブにパラメーターが適用されるとpjstatコマンドで表示される情報が更新されます。