🤓

Linuxさんでプロセスの確認をする

2021/01/02に公開

はじめに

くーばねてすをやっつけるためにLinuxさんと仲良くしはじめた。どうやらLinuxさんにはその他のOSのように複数のプログラムを同時並行できるマルチタスク機能があったそうだ。くーばねてす倒す。

プロセスとは

■プロセスとは実行中のプログラムのこと。
※ちなみにプログラムとはディスク上に保存された実行ファイルのこと。
■プロセスは同一のコマンドから複数のプログラムが実行されていてもそれぞれが独立し、その個数分だけプロセスが発生する。
■それぞれのプロセスにはプロセスIDという一意の番号が割り当てられている。
■プロセスが作られるときは既存のプロセスを元に作られるので、親子関係に表し、作成する元の既存プロセスを親プロセス、作成されるプロセスを子プロセスという。

プロセスを表示する

↓現在発動中のプロセスを一覧表示

$ ps
  PID TTY          TIME CMD
 3510 pts/0    00:00:00 ps
31549 pts/0    00:00:00 sudo
31550 pts/0    00:00:00 su
31565 pts/0    00:00:00 bash

引数なしでpsコマンドを実行すると現在ターミナルで発動中のプロセスを一覧表示する。
・PID...プロセスID
・TTY...teletypewriter(テレタイプライター)の略で端末名(ターミナル)を表す。
・TIME:プロセスが実行された総実行時間を表す。
・CMD(COMMAND)...コマンド名を表す。

↓現在のターミナル以外の現在のユーザーが実行しているプロセスを表示する。

$ ps xf
  PID TTY      STAT   TIME COMMAND
 3667 ?        S      0:00 sshd: suidou@pts/0
 3668 pts/0 Ss     0:00  \_ -bash
 3713 pts/0  R+     0:00      \_ ps xf

?はターミナルに接続していないプロセスを表す。

psコマンドは-がつくUNIXオプションだけでなく、-がつかないBSDオプションでオプションを指定することがあるので-がつくものとつかないものがあるので注意する。
↓システムで動作している全てのユーザーのプロセスを表示

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:06 /usr/lib/systemd/systemd --switched-root --system --d
    2 ?        S      0:00 [kthreadd]
    4 ?        I<     0:00 [kworker/0:0H]
    6 ?        I<     0:00 [mm_percpu_wq]
    7 ?        S      0:00 [ksoftirqd/0]
    8 ?        I      0:01 [rcu_sched]
    9 ?        I      0:00 [rcu_bh]
    ...

Linuxを起動してなにも作業していなくても、マルチタスク機能で色んなプロセスが同時に動作しているようだ。
↓psコマンドのオプション一覧
|オプション|意味|
| --- | --- | --- |
|x|現在のユーザーのプロセスを表示|
|xf|現在のユーザーのプロセスを親子関係で表示|
|ux|現在のユーザーのプロセスの詳細も表示|
|ax|すべてのユーザーのプロセスを表示|
|aux|すべてのユーザーのプロセスの詳細も表示|
|auxww|長いコマンドラインが切れないように表示する|
fをつけると親子関係が表示されるらしい。
わからなかったらps auxfで全部でてくる!
ぴーえすあうくすえふっっ!!! て覚えた!
↓プロセスの表示の詳細内容は改めて記すと
USER:実行しているユーザ名
PID:プロセスID
%CPU:CPUの使用率
%MEM:メモリ使用率
VSZ:プロセスが確保しいる仮想メモリサイズ
RSS:実際に使用されているメモリ量
TTY:ターミナル名
STAT:プロセスの状態
START:コマンドが起動した時刻
TIME:プロセスが実行された総実行時間
COMMAND:コマンド名
となる。

まとめ

プロセスがいっぱいあるんだなぁ~と思った。

👁 👁
🐽
👄

Discussion