「nohupped」を実行するシェル スクリプト バックグラウンド プロセスがあります。このプロセスはトラップでシグナルを受信しますが、いくつかのコードをいじっていると、シグナル間の間隔が小さすぎると一部のシグナルが無視されることに気付きました。トラップ関数の実行に時間がかかりすぎるため、後続のシグナルが処理されなくなります。残念ながら、trap コマンドにはある種のシグナル キューがありません。そのため、この問題を解決する最善の方法は何ですか?
簡単な例:
function receive_signal()
{
local TIMESTAMP=`date '+%Y%m%d%H%M%S'`
echo "some text" > $TIMESTAMP
}
trap receive_signal USR1
while :
do
sleep 5
done