Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
絶対殺すSIGKILLシグナルと絶対死なないプロセス
Search
Satoru Takeuchi
PRO
February 08, 2025
Technology
3
140
絶対殺すSIGKILLシグナルと絶対死なないプロセス
以下動画のテキストです。
https://youtu.be/PVf59Tsfz-0
Satoru Takeuchi
PRO
February 08, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
デバイスにアクセスするデバイスファイル
sat
PRO
1
25
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
17
デバイスドライバ
sat
PRO
0
21
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
60
共有メモリ
sat
PRO
3
53
マルチスレッドプログラム
sat
PRO
3
40
Linuxのブートプロセス initramfs編
sat
PRO
2
51
Linuxのブートプロセス
sat
PRO
6
160
シェルのジョブ
sat
PRO
1
35
Other Decks in Technology
See All in Technology
Next.jsと状態管理のプラクティス
uhyo
3
1k
Winning at PHP in Production in 2025
beberlei
1
280
MCPが変えるAIとの協働
knishioka
1
150
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
210
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
5
740
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
120
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
170
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
2
720
MySQL InnoDB Data Recovery - The Last Resort
lefred
0
110
自動化の第一歩 -インフラ環境構築の自動化について-
smt7174
1
120
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
650
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
2k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
For a Future-Friendly Web
brad_frost
177
9.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Being A Developer After 40
akosma
91
590k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
120
52k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Designing for Performance
lara
608
69k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Transcript
絶対殺すSIGKILLシグナルと 絶対死なないプロセス Feb. 8th, 2025 Satoru Takeuchi X: satoru_takeuchi 1
SIGKILLシグナル • シグナルの一つ ◦ 📝 過去動画: 「その88 シグナル」 • 特徴
◦ デフォルト動作はプロセスの終了 ◦ マスクもできない ◦ シグナルハンドラを設定できない ◦ プロセスを絶対殺すという強い意志 • 詳細は”man 7 signal”を参照 2
プロセスのD state • Linuxにおけるプロセスの状態の一つ ◦ R: 実行可能 or 実行中 ◦
S: イベント待ち状態 ▪ シグナル受信によって待ちが解除される ▪ e.g. キーボード入力待ち ◦ D: イベント待ち状態 ▪ シグナルを受信しても他の状態になるまで処理しない ▪ e.g. I/O待ち • 詳細は”man 1 ps”を参照 3
D stateになったプロセスにSIGKILLを送ると…? 4 VS 絶対殺す SIGKILL 絶対死なない プロセス
D stateになったプロセスの勝ち 5 VS 絶対殺す SIGKILL 絶対死なない プロセス くにへかえるんだな。 おまえにもかぞくがいるだろう
…
D stateのプロセスにはSIGKILLを送っても死なない • カーネルレベルの話なのでユーザ空間からはどうにもならない • よくある例 ◦ ハードウェア障害でI/O処理が進まない ◦ なんらかのカーネルバグ
• 対処方法も色々 ◦ あきらめる ◦ 再起動する ◦ 📝 PFN の Kubernetes クラスタにおける Uninterruptible Sleep との付き合い方 ▪ https://tech.preferred.jp/ja/blog/uninterruptible-sleep-in-k8s/ 6
まとめ • SIGKILLよりもD stateのほうが強い 7