6:プロセスとパッケージ管理の基礎

目次

はじめに

パソコンの中では、常に複数のプログラムが同時に動いています。

「今何が動いているのか確認する」「反応しなくなったプログラムを停止する」「必要なソフトをインストールする」といった作業は、Linuxサーバーを扱うエンジニアにとって日常的な業務です。

この回では、プロセス管理を行う pstopkill、管理者権限を扱う sudo、そしてソフトウェア管理を行うパッケージ管理ツール aptdnf を学びます。


1. プロセスとは

プロセスとは、現在実行中のプログラムのことです。

ブラウザを起動すればブラウザのプロセスが動き、エディタを起動すればエディタのプロセスが動きます。

それぞれのプロセスには PID(Process ID) という番号が割り当てられており、この番号で個々のプロセスを識別します。

ps:プロセス一覧を表示する

ps は実行中のプロセス一覧を表示するコマンドです。

$ ps aux

期待される出力(例):

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 168900 11200 ?        Ss   09:00   0:01 /sbin/init
username   842  0.3  1.2 729300 98000 ?        Sl   09:05   0:12 firefox
username   915  0.0  0.4 120400 32000 pts/0    Ss   09:10   0:00 -bash
項目意味
USER実行ユーザー
PIDプロセスID
COMMAND実行中のプログラム名

top:リアルタイムで監視する

top はCPUやメモリ使用率をリアルタイム表示するコマンドです。

$ top

画面は数秒ごとに更新されます。

終了する場合は q を押します。

コマンド特徴
ps auxその時点の一覧を表示
topリアルタイム監視

2. kill:プロセスを停止する

kill は指定したPIDのプロセスへ終了命令を送ります。

例として、PIDが842のプロセスを停止します。

$ kill 842

通常はこれで終了します。

kill -9:強制終了

通常の kill でも停止しない場合に使用します。

$ kill -9 842

注意:kill -9 は強制終了です。保存されていないデータが失われる可能性があるため、通常の kill が失敗した場合のみ使用しましょう。


3. sudo:管理者権限で実行する

sudo は一時的に管理者(root)権限でコマンドを実行する仕組みです。

Linuxでは一般ユーザーはシステム全体を変更できません。

ソフトウェアのインストールやシステム設定変更などは管理者権限が必要になります。

権限不足の例

$ apt install tree

E: Permission denied

この場合は sudo を付けて実行します。

$ sudo apt install tree

パスワード入力後に実行されます。

注意:sudo はシステム全体へ影響を与えます。意味を理解しているコマンドだけに使用しましょう。


4. パッケージ管理

Linuxではソフトウェアをパッケージとして管理します。

主なパッケージ管理ツール

系統代表例コマンド
Debian系Ubuntu、Debianapt
RHEL系Rocky Linux、CentOS、Fedoradnf

apt update:パッケージ情報を更新する

$ sudo apt update

最新のパッケージ情報を取得します。

apt install:ソフトウェアをインストールする

treeコマンドをインストールする例です。

$ sudo apt install tree

途中で確認が表示されたら y を入力します。

RHEL系の場合は次のようになります。

$ sudo dnf install tree

演習

課題:プロセスを探してPIDを確認する

まずプロセス一覧を表示します。

$ ps aux

次にbashプロセスを検索します。

$ ps aux | grep bash

期待される出力(例):

username   915  0.0  0.4 120400 32000 pts/0    Ss   09:10   0:00 -bash
username  1102  0.0  0.1   9800  2200 pts/0    S+   10:40   0:00 grep bash

PIDを確認しましょう。

topを起動する

$ top

リアルタイム表示を確認したら q で終了します。

演習の確認ポイント

  • ps aux でプロセス一覧を表示できる
  • ps aux | grep bash でPIDを確認できる
  • top を起動し q で終了できる
  • sudo が必要な場面を説明できる
  • aptdnf の違いを説明できる
目次