2
ブレイク(Ctrl + C)を送信してプログラムを終了させたときに実行されるクリーンアップルーチンをatexit()
で実行しますか?実行中のLinuxプロセスを中断して終了すると、どのようなクリーンアップルーチンが実行されますか?
ブレイク(Ctrl + C)を送信してプログラムを終了させたときに実行されるクリーンアップルーチンをatexit()
で実行しますか?実行中のLinuxプロセスを中断して終了すると、どのようなクリーンアップルーチンが実行されますか?
いいえ.SIGINT信号のハンドラをインストールする必要があります。
Ctrl-Cでは 'SIGINT'です。 –
このためにハンドラをインストールするにはどうすればよいですか? –
'sigaction'または' signal'関数を使用しています。しかし、シグナルハンドラは任意のことをすることができません( 'siglongjmp'や' volatile sigatomic_t'変数などを設定することはできません。 'printf'や' malloc'はできません) –