0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プロセスについて基本知識と操作をまとめてみた

Posted at

Linuxの基本を学習中、プロセスについての初歩的な知識と、操作方法を知識定着の為まとめてみる。

プロセス

プロセス:
メモリ上で実行状態にあるプログラムのこと。
プロセスIDという一意のIDで管理されているので、同じコマンドが同時に複数実行されても、
データが混じったりすることはない。

####プロセスの確認方法

$ ps
 PID  TTY        TIME  CMD
 3007 pts/0  00:00:00  bash
 3035 pts/0  00:00:00  less
 3040 pts/0  00:00:00  less
 3043 pts/0  00:00:00  ps

↑↑ psコマンドで現在実行中のプロセスを表示。
   lessが2回実行されてるが、PID(プロセスID)で区別されてる。

プロセスを確認する際によく使われるpsコマンドのオプションが以下↓↓

オプション 意味
x psコマンドを実行したユーザーのプロセス全てを表示
ux psコマンドを実行したユーザーのプロセス全てを,詳細情報を合わせて表示
ax 全てのユーザーのプロセスを表示
aux 全てのユーザーのプロセスを詳細情報と合わせて表示

※これらのオプションは、-(ハイフン)が不要。
####プロセスの終了方法
killコマンドで、PIDを引数に指定。
さっきのpsコマンドの実行結果でPIDを確認した後

kill 3040

これでさっきのpsコマンドで表示された
上から3つ目のlessコマンドのプロセスが終了。

ちなみに

killコマンドは、プロセスを終了させるコマンドではなく、正確にはシグナルを送信するコマンドです。
デフォルトでTERMというシグナルを送信している。

kill 3040
kill -TERM 3040
kill -15 3040

これ↑は全部同じ処理をしている。
どういうことかというと、「3040(のプロセス)」を「TERM(終了させるシグナル)」で「kill(送信)する」と言い換えれる。

3番目の-15は何かというと、kill -lでkillコマンドの利用可能なシグナルの一覧が見れる

$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
...省略...

(頭にSIGがついています)
TERMが15番目にあるのでオプションを指定する時のように -15を指定するとTERMが指定されます。

killコマンドはデフォルトでシグナルがTERMになっている為、何も指定しなければ、プロセスを終了するシグナルを送信します。

kill -lで表示したリストの中にKILLのシグナルも9番目(SIGKILL)にあり、
これもプロセスを終了するシグナルですが、TERMプロセスを受け付けなくなった、異常なプロセスを終了させるときに使う最終手段として使うことが多いらしい。

##まとめ

  • プロセスとは実行中のプログラムのこと。
  • psコマンドで実行中のプロセスを確認できる。
  • psコマンドにオプションをつけると、表示されるプロセスの情報を変えられる。
  • kill <プロセスID>でプロセス(実行中のプログラム)を終了させることができる。
  • killコマンドはシグナルを送信するコマンド。シグナルは複数あり、指定することでプロセスを終了する以外の振る舞いもできる。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?