Linux プロセスを学ぼう

プロセスとは、実行中のプログラムを管理する単位です。
プログラムは通常、ファイルとしてハードディスク上に格納されていますが、このプログラムがメモリ上に展開されてプログラムが実行されます。この実行中のプログラムがプロセスです。

プロセスが起動されると、プロセスごとに固有のID番号が割り当てられます。これをプロセスID(PID)といいます。プロセスIDはプロセスを特定する為に利用されます。

プロセスは、実行中のプロセスから起動され(これをフォークといいます)、親子関係があります。
起動元のプロセスを親プロセス、親プロセスが起動したプロセスを子プロセスといいます。

プロセスはプログラムの実行が終了すると、使用していたメモリを解放して消滅しますが、
プロセスの中には、プログラムの不具合や強制終了等で終了出来ずに残ってしまう場合があります。
この様な場合にはプロセスを強制終了させる必要があります。

プロセスの情報を確認する

プロセスの情報を確認するには、ps(ProceSe)コマンドを使って確認します。

コマンド説明
psプロセスの情報を表示する。
書式ps [オプション]
オプションa 端末の全てのプロセスを表示する
u ユーザー名なども表示する
x 制御端末のないプロセスも表示する
実行例システムで実行されている全てのプロセスを実行ユーザー名なども含めて表示する
$ ps aux
ps コマンド
ps aux
実行例

プロセスの親子関係を確認する

プロセスの親子関係を確認するには、pstreeコマンドを使って確認します。

コマンド説明
pstreeプロセスをツリー状に表示する。
書式pstree [オプション]
オプション-p PIDを表示する
-u ユーザーIDを表示する
実行例プロセスをツリー状に表示する
$ pstree
pstree コマンド
pstree
実行例

プロセスの状況を継続的に確認する

プロセスの状況を継続的に確認するには、topコマンドを使って確認します。

コマンド説明
topシステムとプロセスの状況を継続的に表示する。
書式top [オプション]
オプション-n 回数 表示を更新する回数を指定する
-d 秒 表示を更新する間隔を秒で指定する
-u ユーザー名 指定したユーザーのプロセスのみ監視する
実行例システムとプロセスの状況を継続的に表示する
$ top
top コマンド

topコマンドの主な表示項目

表示項目説明
PIDプロセスID
USERユーザー名
NInice値
%CPUCPUの使用率
%MEMメモリの使用率
COMMAND実行されているコマンド
topコマンドの主な表示項目
top
実行例

プロセスの終了

プロセスを終了させるには、killコマンドを使用します。

コマンド説明
killPIDで指定したプロセスにシグナルを送る。
書式kill PID
kill -シグナル PID
kill [オプション] PID
kill [オプション]
オプション-シグナル 送信するシグナルを指定する
-s シグナル  送信するシグナルを指定する
-l  シグナルの一覧を表示する
実行例PIDが1651のプロセスにTERMシグナルを送る
$ kill 1651
kill コマンド

主なシグナル

シグナル番号シグナル名説明
1HUPハングアップ
2INTキーボードからの割り込み
9KILL強制終了
15TERM通常終了(デフォルト)
18CONT停止しているプロセスを再開
19STOP一時停止
主なシグナル
kill
実行例

プログラミングスキルを身に着けてITエンジニアとして活躍してみませんか?
ITエンジニアは、DX、AI、IoT時代を迎え、ますます需要が高っています。

Linux

次の記事

Linux ジョブを学ぼう