Linuxのジョブ管理
2021-11-15 (月) 10:44:17
Linuxのジョブ管理 †
ジョブの種類 †
- フォアグラウンドジョブ
- バックグラウンドジョブ
ジョブの実行 †
- フォアグラウンド
<command>
- バックグラウンド ※コマンド末尾に"&"
<command> &
- ハングアップモード ※実行したジョブをログアウト後も(プロセスとして)実行し続ける
nohup <command> &
実行したジョブの操作 †
フォアグラウンドジョブの操作 †
- 強制終了
- Ctrl + C
- 一時停止
- Ctrl + Z
bg †
- バックグラウンドで実行
- 一時停止したジョブをバックグラウンドで再開
bg ※カレントジョブを実行 bg <job-number> ※指定したジョブ番号を実行
- 一時停止したジョブをバックグラウンドで再開
fg †
- フォアグラウンドで実行
- バックグラウンドで実行中のジョブをフォアグラウンドにする
- 一時停止したジョブをフォアグラウンドで再開
fg ※カレントジョブを実行 fg <job-number> ※指定したジョブ番号のジョブを実行
nohup †
- ハングアップモードで実行したジョブの操作
- 指定したプロセスをHUPシグナルを無視するように設定する
nohup -p <pid> nohup -pF <pid> ※強制的に設定
- 指定したプロセスをHUPシグナルを無視するように設定する
ジョブの確認 †
jobs †
- 動作中のジョブを一覧表示
- jobs <option>
jobs jobs -l ※PIDを表示
- jobs <option>
- 指定したジョブを表示
- jobs <option> %<job-no>
jobs %% ※カレントジョブ jobs %+ ※カレントジョブ jobs %- ※直前に実行されたジョブ jobs %<job-no> ※指定したジョブ番号のジョブ
- jobs <option> %<job-no>
- 表示内容
- ジョブ番号 ※[n]で表示される
- カレントジョブ"+"、直前に実行されたジョブ"-"
- ジョブの状態
Running 実行中(バックグラウンド) Stopped 一時停止中 Terminated 強制終了 Done 正常終了 Exit 異常終了
ジョブの終了 †
kill †
kill %<job-no> ※終了 kill -KILL %<job-no> ※強制終了
補足 †
- HUPシグナル
- ログアウトや端末終了時にOSが発行するシグナル
- 通常、HUPシグナルを受け取ったジョブは終了する。
- nohupコマンドで実行したジョブは、HUPシグナルを受け取っても終了しない。