#author("2024-11-17T20:26:42+09:00","default:k1rou","k1rou") #author("2024-11-17T20:33:14+09:00","default:k1rou","k1rou") *Linuxのジョブ管理 [#tf7acb4f] -[[Linuxコマンド]] *ジョブの種類 [#v874cc56] -フォアグラウンドジョブ -バックグラウンドジョブ **フォアグラウンドジョブ [#u1d90e6b] -ターミナル上にコマンドの実行結果が出力されるジョブ -フォアグラウンドジョブを実行すると、フォアグラウンドジョブが終了するか一時停止するまで他の入力ができない -通常のコマンドを実行した状態 **バックグラウンドジョブ [#b00eb5c4] -ターミナル上にコマンドの実行結果が出力されないジョブで、実行中のジョブ(一時停止していない) - **ハングアップモード [#o1021b90] -ターミナルを閉じても実行したコマンドを実行し続ける -HUPシグナル --ログアウトや端末終了時にOSが発行するシグナル --通常、HUPシグナルを受け取ったジョブは終了する。 --nohupコマンドで実行したジョブは、HUPシグナルを受け取っても終了しない。 *ジョブの実行 [#i11123a6] -フォアグラウンド <command> -バックグラウンド ※コマンド末尾に"&" <command> & -ハングアップモード ※実行したジョブをログアウト後も(プロセスとして)実行し続ける nohup <command> & *実行したジョブの操作 [#r64dc5e4] **フォアグラウンドジョブの操作 [#o712ec01] -強制終了 --Ctrl + C -一時停止 -一時停止(サスペンド) --Ctrl + Z **bg [#p497e1a1] -バックグラウンドで実行 --一時停止したジョブをバックグラウンドで再開 bg ※カレントジョブを実行 bg <job-number> ※指定したジョブ番号を実行 **fg [#c168db49] -フォアグラウンドで実行 --バックグラウンドで実行中のジョブをフォアグラウンドにする --一時停止したジョブをフォアグラウンドで再開 fg ※カレントジョブを実行 fg <job-number> ※指定したジョブ番号のジョブを実行 **nohup [#k1c7d4d9] -ハングアップモードで実行したジョブの操作 --指定したプロセスをHUPシグナルを無視するように設定する nohup -p <pid> nohup -pF <pid> ※強制的に設定 *ジョブの確認 [#e9cd36db] **jobs [#b04f8667] -動作中のジョブを一覧表示 --jobs <option> jobs jobs -l ※PIDを表示 -指定したジョブを表示 --jobs <option> %<job-no> jobs %% ※カレントジョブ jobs %+ ※カレントジョブ jobs %- ※直前に実行されたジョブ jobs %<job-no> ※指定したジョブ番号のジョブ -表示内容 --ジョブ番号 ※[n]で表示される --カレントジョブ"+"、直前に実行されたジョブ"-" --ジョブの状態 | Running | 実行中(バックグラウンド) | | Stopped | 一時停止中 | | Terminated | 強制終了 | | Done | 正常終了 | | Exit | 異常終了 | *ジョブの終了 [#e378e51c] **kill [#b0061ec7] kill %<job-no> ※終了 kill -KILL %<job-no> ※強制終了 *参照 [#t0074d7a] -[[Linuxのプロセス管理]]