回答:
それが行うことは完全にアプリケーション固有です。ctrl+ を押すcと、ターミナルエミュレータはフォアグラウンドアプリケーションにSIGINTシグナルを送信し、適切な「シグナルハンドラ」をトリガーします。SIGINTのデフォルトのシグナルハンドラは、アプリケーションを終了します。ただし、どのプログラムでも、SIGINT用の独自のシグナルハンドラー(実行をまったく停止しないシグナルハンドラーを含む)をインストールできます。
どうやら、vlcは最初に呼び出されたときに何らかのクリーンアップ/グレースフル終了を試みるシグナルハンドラをインストールし、2回目に呼び出されたときに即座に実行を終了するデフォルトの動作にフォールバックします。
Ctrl+ によって送信されるシグナルであるSIGINTはC、通常、プログラムにメインコマンド処理ループにブレークアウトするか、それが意味をなさない場合は正常に終了するように指示します。一部のプログラムは、SIGINTを受け取ったときにクリーンアップ手順を実行します。プログラムがめちゃくちゃになり、クリーンアップ手順が失敗する場合、一部のプログラムでは、2番目のCtrl+ Cによりプログラムが直ちに終了します。これを行うことは、各プログラムの作成者次第です。
第二場合はCtrl+は、Cプログラム、試して殺さないCtrl+ \送り、SIGQUIT、より暴力的な(しかしまだ捕捉可能な信号)、またはしようとCtrl+ Zして中断プログラムして、kill
コマンド(例えばkill %1
送信SIGTERMを、従来より少ない暴力的な信号をSIGQUITよりも、ジョブ番号1)。他のすべてが失敗した場合はkill -KILL
、とも呼ばれkill -9
、キャッチできないシグナルSIGKILLを送信してプログラムを強制終了します。