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
50
絶対殺す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
2
23
RubyでKubernetesプログラミング
sat
PRO
4
180
プロセスの生成 exec編
sat
PRO
1
36
プロセスの生成 fork&exec編
sat
PRO
0
30
プロセスの生成 コピーオンライトを使ったfork編
sat
PRO
0
28
プロセスの生成 fork編
sat
PRO
0
33
静的ライブラリと 共有ライブラリの違いを実験で確認
sat
PRO
1
48
ハイテク休憩
sat
PRO
2
200
利きプロセススケジューラ
sat
PRO
5
3.3k
Other Decks in Technology
See All in Technology
High Performance PHP
cmuench
0
120
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
340
例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
kajitack
13
4.3k
Bounded Context: Problem or Solution?
ewolff
1
190
AIプロダクト開発から得られた知見 - 2025年1月版
takaakikakei
0
120
Kubernetes x k6 で負荷試験基盤を開発して 負荷試験を民主化した話 / Kubernetes x k6
sansan_randd
0
500
private spaceについてあれこれ調べてみた
operando
1
220
プロダクト価値を引き上げる、「課題の再定義」という習慣
moeka__c
0
220
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
530
あなたはJVMの気持ちを理解できるか?
skrb
5
2.1k
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
100
AIエージェントについてまとめてみた
pharma_x_tech
20
13k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
YesSQL, Process and Tooling at Scale
rocio
171
14k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
620
Practical Orchestrator
shlominoach
186
10k
Done Done
chrislema
182
16k
Designing for Performance
lara
604
68k
Making Projects Easy
brettharned
116
6k
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