この文書の現在のバージョンと選択したバージョンの差分を表示します。
— |
02_freebsd:80_unixコマンド:kill [2015/05/22 14:58] (現在) matsui 作成 |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | ====== kill ====== | ||
+ | ===== 機能 ===== | ||
+ | |||
+ | killコマンドは、指定したプロセスIDのプロセスを終了させます。 | ||
+ | たとえば、暴走したりハングアップしたプロセスを強制終了させる、といった事ができます。 | ||
+ | また、killコマンドは、ハイフン(-)に続けてシグナル名(またはシグナル番号)を指定して、任意の | ||
+ | 種類のシグナルを指定したプロセスに送ることができます。-lオプションを指定してkillコマンドを | ||
+ | 実行すると、指定可能なシグナルの一覧が表示されます。 | ||
+ | 一般ユーザがkillコマンドでシグナルを送れるのは、自分が起動したプロセスだけですが、 | ||
+ | スーパーユーザは全てのプロセスに対してシグナルを送れます。 | ||
+ | |||
+ | ===== 構文 ===== | ||
+ | |||
+ | <code> | ||
+ | kill [オプション] プロセスID | ||
+ | kill %ジョブ番号 | ||
+ | </code> | ||
+ | |||
+ | ===== オプション ===== | ||
+ | |||
+ | |-シグナル名または番号|指定したシグナル名(または番号)のシグナルを送る。| | ||
+ | |-l|指定可能なシグナルの一覧を表示する。| | ||
+ | |||
+ | ==== 主なシグナル番号とシグナル名は次のとおりです ==== | ||
+ | |||
+ | |1|HUP (hang up)|ハングアップ| | ||
+ | |2|INT (interrupt)|割り込み(Ctrl+C)| | ||
+ | |3|QUIT (quit)|中断(Ctrl+\)| | ||
+ | |6|ABRT (abort)|| | ||
+ | |9|KILL (non-catchable, non-ignorable kill)|強制終了| | ||
+ | |14|ALRM (alarm clock)|| | ||
+ | |15|TERM (software termination signal)|終了| | ||
+ | |||
+ | ==== コマンド例 ==== | ||
+ | |||
+ | === 自分の実行したプロセスを強制終了する === | ||
+ | <code console> | ||
+ | > tail -5f /var/log/messages & バックグラウンドでtailコマンドを実行する。 | ||
+ | [2] 7801 | ||
+ | > ps 現在実行中のプロセスを表示する。 | ||
+ | PID TT STAT TIME COMMAND | ||
+ | 7647 p0 Ss 0:00.17 -csh(csh) | ||
+ | 7709 p0 T 0:00.01 man csh | ||
+ | 7710 p0 T 0:00.01 sh -c /usr/bin/zcat /usr/share/man/cat1/csh.1.gz |j | ||
+ | 7711 p0 T 0:00.01 /usr/bin/zcat /usr/share/man/cat1/csh.1gz | ||
+ | 7712 p0 T 0:00.03 jless | ||
+ | 7801 p0 S 0:00.01 tail -5f /var/log/messages | ||
+ | 7802 p0 R+ 0:00.00 ps | ||
+ | |||
+ | > kill 7801 プロセスID(7801)を終了させる | ||
+ | [2] Terminated tail -5f /var/log/messages 終了の旨が表示される | ||
+ | > ps 7801 | ||
+ | PID TT STAT TIME COMMAND プロセスID(7801)は存在しない、終了している。 | ||
+ | > | ||
+ | </code> | ||
+ | |||
+ | === 実行中のプロセスにシグナルを送る === | ||
+ | <code console> | ||
+ | # ps ax | grep sendmail 実行中のプロセスを表示し、sendmailを含むものを抜き出す | ||
+ | 15508 ?? Is 1:34.44 sendmail: accepting connections on port 25 (sendmail) | ||
+ | # cat /var/run/sendmail.pid | ||
+ | 15508 | ||
+ | # kill -HUP 15508 sendmailにHUPシグナルを送る | ||
+ | # tail -2 /var/log/maillog maillogに残されたsendmailのログを確認する | ||
+ | Apr 20 20:06:28 unixsvr1 sendmail[15508]: restarting /usr/sbin/sendmail on signal | ||
+ | # | ||
+ | </code> | ||
+ | |||
+ | {{tag>Unixコマンド ジョブ・タスク管理}} |