LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問14
Linuxのインストールと仮想マシン・コンテナの利用/プロセスの生成、監視、終了プロセスの終了に関するシグナルの説明として、誤っているものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)
- Akill -9 プロセスID は、SIGTERMを送るコマンドである
- BSIGKILL(9番)は、プロセス側で捕捉・無視することができず、カーネルによって強制的に終了させられる
- CプロセスがSIGTERMを無視するように実装されている場合でも、SIGKILLで確実に終了させられる
- DSIGTERM(15番)は、プロセスがシグナルを受け取って自身で後始末をしてから終了することを許す
正解:A
解説
SIGTERM(15番)はプロセスに終了を要求するシグナルで、プロセスはこれを受け取って後始末(一時ファイルの削除等)をしてから終了できます。SIGKILL(9番)はプロセス側で捕捉・無視ができず、カーネルによって強制的にプロセスが終了させられるため、SIGTERMを無視するように実装されたプロセスであっても確実に終了させられます。kill -9はSIGKILLを送るコマンドであり、SIGTERMではありません。
選択肢ごとの解説
- A正しい(誤っている記述)。kill -9 が送るのはSIGKILLであり、SIGTERMではありません。
- B誤り(正しい記述)。SIGKILLはプロセス側で捕捉・無視できず、カーネルによって強制終了させられます。
- C誤り(正しい記述)。SIGKILLは捕捉・無視できないため、SIGTERMを無視するプロセスでも確実に終了させられます。
- D誤り(正しい記述)。SIGTERMはプロセスが後始末をしてから終了することを許すシグナルです。