3
Ctrl + Cでキャンセルするプロセスを制御する
Linuxで起動し、小さなBashスクリプトを実行するライブCDがあります。スクリプトは、2番目のプログラム(通常はコンパイル済みのC ++バイナリ)を検索して実行します。 Ctrl+ を押すと、2番目のプログラムを中止できますC。何をすべき起こることは、第2のプログラムを停止していることである、とBashスクリプトがクリーンアップを実行し続けます。どのような実際に起こることは、メインアプリケーションとBashスクリプトの両方が終了していることです。これは問題です。 そこで、trap組み込みを使用してBashにSIGINTを無視するように指示しました。そして今Ctrl+ CC ++アプリケーションを終了しますが、Bashは実行を続けます。すごい。 そうそう...時々、「2番目のアプリケーション」は別のBashスクリプトです。そして、中にいる場合、Ctrl+ C今行わない全く何も。 明らかに、このようなものがどのように機能するかについての私の理解は間違っています...ユーザーがCtrl+を押したときにどのプロセスがSIGINTを取得するかを制御するにはどうすればよいCですか?私はこの信号を1つの特定のプロセスに向けたいです。