今回はlinuxのプロセス
つまり稼動経緯について書きます。
プロセス
WEBサーバやコマンドなどLinux上で実行されている処理
プロセスはプロセス名とプロセスIDという番号が自動的に付与されてます。
プロセスの性質として
- プロセス毎に自分だけのメモリを割り当てられる
- WEBサーバなどネットワーク機能を利用するプロセスはポートを専有する
1つのCPUが一度に実行できるプロセスは1つだけなので
基本格プロセスが順番に使っている形です。
psコマンド (プロセスを確認)
ターミナル
$ ps
確認例
PID TTY TIME CMD
1139 ttys000 0:00.03 -bash
psコマンドのオプション
オプション名 | 意味 |
---|---|
-a | 自分以外のユーザーのプロセスも表示する。 |
-r | 実行中のプロセスのみを表示する。 |
-u | ユーザー名とプロセスが実行された時刻を表示する。 |
-aux | 実行中のすべてのプロセスに関してCPU使用率などの詳細な情報つきで表示する。 |
| (パイプ)処理 (複数のコマンドを組み合わせ)
パイプ処理とは、あるコマンドの結果を次のコマンドに渡す処理のことです。パイプ処理を用いたコマンドの組み合わせは以下の様になります。
ターミナル
$ <最初に実行されるコマンド> | <右の結果を受けて最終的な結果を返すコマンド>
例
$ cd ~ #ホームディレクトリに移動
$ ls | grep p #ホームディレクトリ以下のファイル群から 'p'という文字が含まれるものだけを表示
$ ps aux | grep mysql | grep -v grep #mysqlサーバーの実行プロセスを探しだして表示
grepコマンド
grepコマンドは特定の文字列が含まれる一行を抽出するためのコマンドです。
ターミナル
grep [検索ファイル] [検索パターン]
kill <...> (プロセスを終了)
プロセスIDに対して特定のコマンドを実行することで、プロセスを再起動したり、強制終了したりできます。
ターミナル
$ kill [プロセスID] # プロセスを終了させる
$ kill -9 [プロセスID] # プロセスを強制終了させる
強制終了の場合、オプションで-9をつけます。
通常のkillコマンドで削除できない場合はこちらを使用。