平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【Linux】起動しているプロセスを確認する(ps、topコマンド)

今回のテーマ

OSの一つであるLinuxサーバ時に使用するコマンドを復習のため整理する。
今回はプログラムの実行単位であるプロセスについてpsコマンドとtopコマンドを見ていく

目次

  • プロセスとは
  • psコマンドについて
  • topコマンドについて
  • まとめ

プロセスとは

プロセスとは日常的には「工程」など物事の道筋的な意味で使われいる。

Linux上ではプログラムが実行可能な状態になっているものと定義できる。

プログラムは通常ハードディスクに保存されており、それがメモリとCPUを使用することで実行されているもしくは実行可能な状態になっているものです。

プログラムの起動状況を見るときは基本的にプロセスの稼働状態を見ることになります。

psコマンド

そこでプロセスの稼働状態を見るコマンドで代表的なものがpsコマンドです オプションなしでpsコマンドを打つと以下のような表示になります。

オプションなしだとログインしているユーザ名で起動されているプロセスが表示されます。

  PID TTY          TIME CMD
 1231 pts/0    00:00:00 bash
 1404 pts/0    00:00:00 ps

オプションは様々ありますが、システム上で稼働しているプロセス全て
見るときはオプションにaxをつけます。 さらに起動しているユーザ名をつける場合はuをつけます。

なのでシステム上で稼働しているプロセス全てを確認する際に
よく使うのはps auxで使うことが多いです。

topコマンド

プロセスの稼働状態で継続して見たいときはtopを使います。
前述したpsコマンドだとそのコマンドを使った時点でのプロセスが
表示されますが、そのまましばらく稼働状況を見続けたい時に使います。

ただし表示させ続けるため、CPUを多く消費し負荷をかけてしまうことが あるので、不要なときはすぐに「Ctrl + c」やqで止めましょう。

// 出力例
  2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd    
  4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:0H
  6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_wq
  7 root      20   0       0      0      0 S  0.0  0.0   0:00.54 ksoftirqd/0 
  8 root      20   0       0      0      0 I  0.0  0.0   0:00.91 rcu_sched   
  9 root      20   0       0      0      0 I  0.0  0.0   0:00.00 rcu_bh      
  10 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migrat
補足

もし稼働しているプロセスを終了させたいとなった時にはkillコマンドを
使います。

ハイフンの後にPID(プロセスID)を指定してください。

kill -[PID]

強制終了したい場合は-9をつけます。

kill -9 [PID]

まとめ

  • プロセスの稼働状況を見るときはpsコマンドを使う
  • 単純にシステムで稼働している全てのプロセスを見るときはps auxを使う
  • プロセスの稼働状況を続けて見たい場合はtopコマンドを使う
  • プロセスを終了させるにはkillコマンドを使う

コマンドのオプションはその他多数あるが、上記紹介した最低限の基本は
覚えておきたいですね。

参考

psコマンドについて詳しくまとめました 【Linuxコマンド集】