FC2ブログ

killコマンドの使い方

killコマンドの使い方

プログラムの不具合で終了できないプロセスは
killコマンドで終了させる

killコマンドは、実行中のプロセスに対して様々なシグナルを送信する

シグナルはLinuxカーネルに実装されている
プロセス間で連絡を取り合うための仕組みのこと

killコマンドを使うには
送るシグナル
プロセスID(PID)
がわからないと使えない

CPUやメモリを占有しているPIDは
topコマンドで
c
m
で調べることができる

これに対して
SIGTERMという
プロセス終了シグナルを送信すればいい

プログラムの実装にもよるけど
プロセスは
SIGTERMを受け取ると
プログラム内に実装されている終了処理を行う

これなら
オープンしているファイルを閉じたり
ログの出力してから終了というように
安全にプロセス終了できる

ただし、プロセスにシグナルをおくるには
そのプロセスのユーザー権限が必要

この権限は、topコマンドで
USERの項目に載っている

これがrootならroot権限が必要

もし、1980のプロセスを終わらせるなら
kill -SIGTERM 1980
とする

しかし、プロセス暴走だと
これでも終わらない

そんなときには
強制終了シグナル SIGKILL を使う
これは、強制終了なのでファイル破損リスクなどもあるから
ある意味最終手段

もし、1980のプロセスを強制終了するなら
kill -SIGKILL 1980

まず、SIGTERMで試して
どうしようもないなら SIGKILL を使う

ほかにも
killコマンドで使えるシグナルはたくさんあるので

kill -L
とか
man 7 signal
でマニュアル見るといい

よく使うのは
SIGUP

SIGUPは、
設定ファイルを編集後
変更が反映されるように、デーモン再起動するときなどに使うシグナル

あと、同じ名前のプロセスが、複数あるときには
killallコマンドを使えば
同じ名前のプロセスを一度で終了できる
スポンサーサイト



コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック