プロセスグループに送信されたシグナルをトラップして、サブプロセスのいずれかがシグナルにヒットしないようにする方法はありますか?
私の問題は、SIGTERMで正常に終了するが、SIGUSR1で問題が発生するアプリがあるため、SIGUSR1から保護したいということです。簡単なbashスクリプトを書くことを考えました。
#!/bin/bash
runapp &
childspid=$!
trap "kill -TERM $childspid ; exit" USR1
while true ; do
sleep 10 ;
done
残念ながら、キラーは狡猾で、リーダーだけでなくプロセスグループ全体にSIGUSR1を送信します。
どうもありがとう、