はじめに kill コマンドと trap コマンドはシェルでシグナルの送信と受信を行うためのコマンドです。このコマンドは意外と適切ではない使われ方をよく見かけます。この記事では kill と trap の基礎知識を解説します。 POSIX準拠のkillコマンドの構文 POSIX で標準化されている kill コマンドの使い方は次のとおりです。POSIX で標準化されているというのは移植性が高い書き方ということを意味しています。シグナル名の指定には -s オプションが必要です。そして signal_name であって signal_number でないことに注意してください。POSIX シェルの世界にシグナル番号という概念はありません。シグナル番号を指定した書き方は避ける方をおすすめします。
![良いシェルスクリプトのためのkillとtrapの基本 ~ シグナル番号は使わない、シグナル名を使う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/dff749d86a0af25be62091a7e78da85026261a27/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU4JTg5JUFGJUUzJTgxJTg0JUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgxJUFFJUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFFa2lsbCVFMyU4MSVBOHRyYXAlRTMlODElQUUlRTUlOUYlQkElRTYlOUMlQUMlMjAlRUYlQkQlOUUlMjAlRTMlODIlQjclRTMlODIlQjAlRTMlODMlOEElRTMlODMlQUIlRTclOTUlQUElRTUlOEYlQjclRTMlODElQUYlRTQlQkQlQkYlRTMlODIlOEYlRTMlODElQUElRTMlODElODQlRTMlODAlODElRTMlODIlQjclRTMlODIlQjAlRTMlODMlOEElRTMlODMlQUIlRTUlOTAlOEQlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElODYmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ21pZGRsZSZzPTQ5ZTI0NzlhZjkwY2Y2NDVhMzIwNjNkMjFkMjRhNGYz%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwa28xbmtzbSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MjZhY2FkZGZmYzRlOGQ5MWExNWExY2E0NzNjNjg1Mjk%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Df839555d2f4489c762ef2821631eaf2b)