zenn.dev
2026/08/23
Ctrl+C でプログラムが止まる仕組みを調べた
Ctrl+CがLinuxでプロセスを終了させる仕組みをカーネルソース(v6.12)を追って解説。tty層で0x03がSIGINTに変換され、フォアグラウンドプロセスグループ全体に送信、pending管理を経てハンドラ未登録時はSIGNAL_GROUP_EXITによりdo_group_exit/do_exitで終了、終了コード128+Nの由来まで解説する記事。
Ctrl+CがLinuxでプロセスを終了させる仕組みをカーネルソース(v6.12)を追って解説。tty層で0x03がSIGINTに変換され、フォアグラウンドプロセスグループ全体に送信、pending管理を経てハンドラ未登録時はSIGNAL_GROUP_EXITによりdo_group_exit/do_exitで終了、終了コード128+Nの由来まで解説する記事。