Unixコマンド/kill の変更点


*&SIZE(15){''kill''}; [#oa086e00]

[[dokuwiki.fl8.jp掲載済>http://dokuwiki.fl8.jp/doku.php/02_freebsd/80_unix%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/kill]]

**''機能'' [#g3d08099]
killコマンドは、指定したプロセスIDのプロセスを終了させます。&br;
たとえば、暴走したりハングアップしたプロセスを強制終了させる、といった事ができます。&br;
また、killコマンドは、ハイフン(-)に続けてシグナル名(またはシグナル番号)を指定して、任意の&br;
種類のシグナルを指定したプロセスに送ることができます。-lオプションを指定してkillコマンドを&br;
実行すると、指定可能なシグナルの一覧が表示されます。&br;
一般ユーザがkillコマンドでシグナルを送れるのは、自分が起動したプロセスだけですが、&br;
スーパーユーザは全てのプロセスに対してシグナルを送れます。&br;

**''構文'' [#t97811eb]
kill [オプション] プロセスID&br;
kill %ジョブ番号

**''オプション'' [#kc598cfd]
 -シグナル名または番号     指定したシグナル名(または番号)のシグナルを送る。
 -l                       指定可能なシグナルの一覧を表示する。

***主なシグナル番号とシグナル名は次のとおりです: [#ta1965e1]
     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)        終了

**''コマンド例'' [#o5a6551b]
***''自分の実行したプロセスを強制終了する'' [#bee3922e]
 > 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)は存在しない、終了している。
 >
***''実行中のプロセスにシグナルを送る'' [#wefb61f4]
 # 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
 #