ジョブ制御
scontrol
サポートする形式:
scontrol show job <job_id>
scontrol hold job <job_id>
scontrol release job <job_id>
scontrol update job <job_id> KEY=VALUE...
show job
次のような詳細 job 情報を表示します。
- job ID と所有者
- 状態と reason
- 要求リソース
- time limit
- dependency string
- submit、start、end timestamp
- command と working directory
- stdout と stderr の path
- array metadata
ReqTRESAllocTRESMaxRSS- step summary
hold job
pending job を held state に移します。
結果:
- job state は
PENDINGのまま - reason は
JobHeldUserになる
release job
held 状態の pending job を通常スケジューリングに戻します。
update job
サポートする更新キー:
| キー | ルール |
|---|---|
JobName / Name | job が PENDING の間だけ変更できる |
Partition | job が PENDING の間だけ変更できる |
TimeLimit / Time | job が終端状態になるまでは変更できる |
Priority | job が PENDING の間だけ変更できる |
例:
scontrol update job 10 TimeLimit=02:00:00
scancel
サポートする形式:
scancel <job_id>
scancel <job_id.step_id>
scancel --signal <sig> <job_id>
scancel --signal <sig> <job_id.step_id>
Default Cancel Behavior
- pending job はただちに
CANCELLEDになる - running job は
COMPLETINGを経由する - runner は
SIGTERMを送る - 必要なら grace period 後に
SIGKILLを送る
記録される cancel reason:
CancelledByUser
Signal Mode
--signal は通常の cancel を行わず、指定シグナルだけを送ります。
例:
scancel --signal TERM 12