2
我想在後臺運行命令在shell腳本和wait
爲他們在腳本的末尾,所以他們不會孤立。我也想在接收到信號時調用函數,但是信號會導致我的wait
死機,並且腳本結束。我如何可以忽略信號wait
並保留wait
ing?例如:Bash有等待忽略信號
#!/bin/bash
num=0
sigHandle()
{
if [[ $num -eq 0 ]]; then
echo "trapped"
((num++))
else
echo "Already called trap"
fi
}
trap 'sigHandle' SIGUSR1
sleep 12345 &
wait
我試圖改變我的陷阱是trap 'sigHandle; wait' SIGUSR1
但後來我的信號處理功能沒有得到第一時間之後調用。這有效,但不知道這是否是正確的做法。
while :; do
wait
done
SIGUSR1是nr 10,所以138,不是? – tomasz
用於'SIGUSR1'的實際數字是平臺相關的。它在Linux中爲10,在Mac OS X中爲30。 – chepner
有趣的是,tx。 – tomasz