本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介してきます。今回は、「kill」コマンドと「killall」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、実行中のプロセスを終了させるのに使用する「kill」コマンドと「killall」コマンドです。
killコマンドの概要 | killコマンドの書式 | killコマンドのオプション | killallコマンドの概要 | killallコマンドの書式 | killallコマンドのオプション
プロセスを強制終了させることを“プロセスを殺す”と表現することがあります。killはその名の通り、実行中のプロセスを終了させる場合に使うコマンドです。
どのプロセスを終了させるかは、「プロセスID」で指定します。例えば、100番のプロセスならば「kill 100」と指定します。プロセスIDは「ps」コマンドで調べることができます。
killコマンドの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-s シグナル | プロセスに送るシグナル名または番号。-シグナル名、-番号でも指定可能(「シグナルとは」を参照) |
-l | シグナル名のリストを表示する |
killコマンドと同じく、killallもプロセスを終了させることができるコマンドです。killはプロセスIDでプロセスを指定するのに対し、killallは「プロセスの名前」を指定することができます。この場合、該当する名前のプロセスが“全て殺される”ことになります。
killallコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-s シグナル | --signal シグナル | プロセスに送るシグナル名または番号。-シグナル名、-番号でも指定可能(「シグナルとは」を参照) |
-l | --list | シグナル名のリストを表示する |
-i | --interactive | シグナルを送る前に確認する |
-v | --verbose | シグナルの送信に成功したらメッセージを表示する |
-q | --quiet | 対象となるプロセスがなかった場合もメッセージを表示しない |
-I | --ignore-case | 名前の大小文字を区別しない |
-r | --regexp | 名前を正規表現で指定する |
-e | --exact | 長い名前でも完全一致しないとシグナルを送らない |
-g | --process-group | 指定したプロセスが所属しているグループにシグナルを送る |
-y 時間 | --younger-than 時間 | 指定時間より新しいプロセスにシグナルを送る |
-o 時間 | --older-than 時刻 | 指定時刻より古いプロセスにシグナルを送る(「時間を指定してプロセスを終了させるには」を参照) |
-u ユーザー | --user ユーザー | 指定したユーザーのプロセスにだけシグナルを送る |
「kill プロセスID」で、指定したプロセスを終了させることができます。プロセスIDは「ps」コマンドで確認できます(画面1)。
kill プロセスID
(管理者権限で実行する必要があります)
killコマンドを使うと、何らかの原因で終了できなくなったプロセスを強制的に終了させることができます。キーボードやマウスからの入力を受け付けなくなった状態でも、“他の端末からログインして終了処理を行う”といったことができます(※)。
【※】“他の端末”を持っていない場合も、[Alt]+ファンクションキー、または[Alt]+[Ctrl]+ファンクションキーで切り替えられる場合があります。
「killall 名前」で、“名前”に指定したプロセスを終了させることができます。killコマンドと違い、killallコマンドは一般ユーザーで実行することができます(画面2)。ただし、一般ユーザーで実行した場合は、自分が起動したプロセスのみが対象となります。
killall 名前
Copyright © ITmedia, Inc. All Rights Reserved.