プロセス A がトラップを設定します。次に、子プロセス B を作成します。プロセス A によって設定されたトラップをクリアするにはどうすればよいですか?
プロセスA
#! /bin/bash
# processA.sh
trap '' 15
sh processB.sh
プロセスB
#! /bin/bash
# processB.sh
echo "Current trap"
trap -p
echo "Clearing trap 15"
trap - 15
echo "New trap"
trap -p
出力
Current trap
trap -- '' TERM
Clearing trap 15
New trap
trap -- '' TERM
上記の例では、子プロセス B のトラップをクリアしていますが、クリアされていません。オペレーティング システムは Linux です。