こんにちは!
今回はLinuxのプロセスとジョブについてまとめます。
プロセス
- OSから見た実行中のプログラムを管理する単位
- 固有のプロセスID(PID)によって管理される
- プロセスIDは生成されてから終了するまで変化しない
psコマンド
- 実行中のプロセスを確認する
オプション | 効果 |
---|---|
a |
自分以外のユーザーのプロセスも表示 |
x |
ターミナルに関連付けられていないバックグラウンドのプロセスも表示 |
u |
プロセスが使用しているCPUやメモリなどを表示 |
f |
プロセスの親子関係をツリーで表示 |
ps aux
を定型句として覚えておくと良い
killコマンド
- 指定したプロセスIDのプロセスに任意のシグナルを送信する
Ctrl+Cで終了しないプロセスを終了させる
- 別のターミナルから
ps
コマンドで、終了させたいプロセスのプロセスIDを調べる- プロセス名が分かっている場合は、
pgrep プロセスID
でもよい
- プロセス名が分かっている場合は、
kill プロセスID
で強制終了させる
より強力な強制終了
kill -9 プロセスID
またはkill -KILL プロセスID
ジョブ
- シェルから見た処理の単位
- 単一のコマンドから構成される場合と、複数のコマンドから構成される場合がある
- バックグラウンドジョブとフォアグラウンドジョブに分けられる
フォアグラウンドジョブ
- 通常通り入力したコマンドはフォアグラウンドジョブとなる
- 画面を占有する
バックグラウンドジョブ
- 起動時にコマンドの末尾に
&
を付けるとバックグラウンドジョブとなる - 画面を占有しない
ジョブの一時停止
- フォアグラウンドジョブを終了せずに、一時的にシェルに戻るには
Ctrl+Z
でジョブを一時停止する - 一時停止したジョブは
jobs
コマンドで確認できる jobs
コマンドのジョブにはジョブ番号が振られている
ジョブの再開
- 一時停止したジョブを再開するコマンドには
fg
とbg
がある
コマンド | 動作 |
---|---|
fg ジョブ番号 |
フォアグラウンドで再開 |
bg ジョブ番号 |
バックグラウンドで再開 |
おわりに
今回はLinuxのプロセスとジョブについてまとめました。ジョブの一時停止や再開といった機能は以前も学習しましたが、実際には使ったことがなかったです。今回の学習で大分理解できたのでこれらの機能も使っていきたいと思います。
77/100