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の由来まで解説する記事。
↗ 元記事を開く