0
我有這樣的:在這個腳本中如何等待?
#!/bin/bash
trap 'echo $? $?' SIGINT
for i in `seq 10`
do
echo hello from for
sleep 10
done &
bgproc=$!
echo bgproc is $bgproc
ps -o pid,ppid,cmd
echo "waiting now"
wait $bgproc
我
kill -2 <pid>
,並得到
0 0
爲O/P
問:
當我發送SIGINT到這個腳本。
它爲什麼終止?我知道這是因爲最後的等待聲明。但那裏發生了什麼?
可能出現[能否訪問陷阱中的退出命令的代碼?]的副本(http://stackoverflow.com/questions/6176834/can-you-access-the-code-of-an-exit-命令在陷阱) – 2011-05-31 01:14:01
雖然不是一個確切的重複。我也在問等待命令在這裏如何表現。 – abc 2011-05-31 01:21:18
來自bash初學者指南第139頁:「當Bash通過內置的等待等待一個異步命令時,接收到一個已設置了陷阱的信號將導致內置的等待立即以退出狀態返回大於128,緊接着陷阱被執行。「 – abc 2011-05-31 01:30:26