Upgrade to Pro — share decks privately, control downloads, hide ads and more …

絶対殺すSIGKILLシグナルと絶対死なないプロセス

 絶対殺すSIGKILLシグナルと絶対死なないプロセス

以下動画のテキストです。
https://youtu.be/PVf59Tsfz-0

Satoru Takeuchi

February 08, 2025
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. SIGKILLシグナル • シグナルの一つ ◦ 📝 過去動画: 「その88 シグナル」 • 特徴

    ◦ デフォルト動作はプロセスの終了 ◦ マスクもできない ◦ シグナルハンドラを設定できない ◦ プロセスを絶対殺すという強い意志 • 詳細は”man 7 signal”を参照 2
  2. プロセスのD state • Linuxにおけるプロセスの状態の一つ ◦ R: 実行可能 or 実行中 ◦

    S: イベント待ち状態 ▪ シグナル受信によって待ちが解除される ▪ e.g. キーボード入力待ち ◦ D: イベント待ち状態 ▪ シグナルを受信しても他の状態になるまで処理しない ▪ e.g. I/O待ち • 詳細は”man 1 ps”を参照 3
  3. D stateのプロセスにはSIGKILLを送っても死なない • カーネルレベルの話なのでユーザ空間からはどうにもならない • よくある例 ◦ ハードウェア障害でI/O処理が進まない ◦ なんらかのカーネルバグ

    • 対処方法も色々 ◦ あきらめる ◦ 再起動する ◦ 📝 PFN の Kubernetes クラスタにおける Uninterruptible Sleep との付き合い方 ▪ https://tech.preferred.jp/ja/blog/uninterruptible-sleep-in-k8s/ 6