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
260
絶対殺すSIGKILLシグナルと絶対死なないプロセス
以下動画のテキストです。
https://youtu.be/PVf59Tsfz-0
Satoru Takeuchi
PRO
February 08, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
4
140
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
81
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
63
Other Decks in Technology
See All in Technology
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
いま注目のAIエージェントを作ってみよう
supermarimobros
0
340
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
950
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
330
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
380
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
180
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
110
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Unsuck your backbone
ammeep
671
58k
Statistics for Hackers
jakevdp
799
220k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Scaling GitHub
holman
463
140k
Automating Front-end Workflow
addyosmani
1370
200k
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