質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

16756閲覧

Linuxのkillコマンドのシグナルの違いが分からない

退会済みユーザー

退会済みユーザー

総合スコア0

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2017/12/16 23:02

例えばプロセスIDが100のプロセスを終了させる場合に
kill 100
kill -9 100
では何が違うのでしょうか?

Linuxに対してSIGTERMでのプロセス終了なのか、SIGKILLでのプロセス終了なのかを伝える違いがあるだけで
「プロセスを強制終了する」という作業には違いはないのでしょうか?

■参考サイト
IT pro【 kill 】 プロセスおよびジョブを強制終了する

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SIGTERMはプログラムに対して、「終われ」という指示を行うので、プログラムは終了処理を行いいます。例えば、一時ファイルを作成していた場合は、その削除。共有メモリを確保していた場合はその解放。通信相手に終了を通知。エディタで未保存の場合は、「保存しますか?」のダイアログを出すなど。

ただし、プログラムが異常な状態になっている場合は、この終了指示がうまく伝わらないとか、終了処理のなかでループが起こったとか、などなど、の場合は、プログラムが終了しません。

この場合は、しょうがないので、SIGKILLでOSがプロセス終了処理だけ(プロセス管理テーブルから削除したり、プロセスのメモリを解放したり)行います。なので、一時ファイルが消されずに残ったり、通信相手がいつまでも待ち状態になったりする可能性があります。

投稿2017/12/17 02:56

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/17 03:03 編集

分かりやすいご説明ありがとうございます。 `SIGKILL`より`SIGTERM`でのプロセス終了の方が安全ということでしょうか? シェルなどで現在実行しているプロセスを`kill -9 [プロセスID]`でキルするよりかは Ctrl+Cでキルした方がいいのでしょうか?
guest

0

SIGTERMは、プログラムの側でトラップを仕掛けて処理ができるのに対して、SIGKILLの場合は不可能です。

なので、

  • SIGTERM…ふつうに終了させたい場合
  • SIGKILL…終了処理などが動かなくてもいいから、とにかく強制終了させたい場合

というような違いになります。

投稿2017/12/17 00:18

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/17 00:21

ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問