この記事は、Linux シグナルの基本と仕組み (カーネルでの実装) について調査したことのまとめです。 シグナルは普段から利用しているものの仕組みについては理解してなかったので、カーネル勉強の題材として調べてみました。想像以上に複雑でボリュームがあったため、書き切れていない部分 (調査しきれなかった部分) もありますが、一通りの流れ (仕組み) は理解できたと思います。 なお、この記事は主に「■ 基本編」と「■ カーネル編 (v5.5)」で構成されています。仕組みを理解するには基本も知る必要があると思い、このような構成となっています。書籍レベルの基本を理解されている方は 「■ カーネル編 (v5.5)」 から読み進めることを推奨します。 ■ 基本編 はじめにシグナルの基本について、ざっと整理します。 なお、例で登場するコマンドや API (C 言語) の細かい使い方やエラー処理などは省き
![Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/4ddb6018b843e25821d50ea2be46c10edf3230c7/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TGludXglMjAlRTMlODIlQjclRTMlODIlQjAlRTMlODMlOEElRTMlODMlQUIlRTMlODElQUUlRTUlOUYlQkElRTYlOUMlQUMlRTMlODElQTglRTQlQkIlOTUlRTclQjUlODQlRTMlODElQkYlMjAlMjglRTMlODIlQUIlRTMlODMlQkMlRTMlODMlOEQlRTMlODMlQUIlMjB2NS41JTIwJUU2JTk5JTgyJUU3JTgyJUI5JTI5JTIwJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1kNjlhMGZkZjBlNmY5OTY4N2E1ZGI4NmViNmNmZjIwOA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBLZXJuZWxfT0dTdW4mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTExMDVhMzRhY2U5NDdlZmJlYWY2OGVkZGQ0Nzg2YjVl%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D1da2184ff7b415682d2e357257c55f19)