- ベストアンサー
Linux シェルの trap について
お世話になります。 シェルについて、どなたかご教授頂けますと幸いで御座います。 以下、★処理を実施していますが、シェル.sh を実行中に Ctrl+\ で終了(シグナル)しても トラップ処理が実行されません。"| tee -a ファイル名" を削除し、シェル.sh のみ実行すると、 トラップ処理が実行されます。何か、良いアイデアは御座いますか?? ******************************************************* #!/bin/bash #------------------------------------------------------------------------------ # Trap #------------------------------------------------------------------------------ trap 'echo "trapped."; トラップ処理 >> /dev/null 2>&1;exit 1' 1 3 15 trap '' 2 umask 022 : <中略> : #------------------------------------------------------------------------------ # main #------------------------------------------------------------------------------ シェル.sh | tee -a ファイル名 ★ #シェル.sh *******************************************************
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
teeがSIGQUITで終了 →パイプが無くなる →SIGPIPE(13)発生 →SIGPIPEはtrapされてない ってことでは?
お礼
ご回答有難う御座います。大変助かります。 動作確認してみます。