我有以下 2 个脚本
父.sh
#!/usr/bin/ksh
echo "In Parent : Before"
Child.sh
echo "In Parent : After"
read
孩子.sh
#!/usr/bin/ksh
function quit_handler
{
echo "Quit on Child"
stty $origtermconfig
exit
}
origtermconfig="$(stty -g)"
trap quit_handler INT
while true
do
echo "Child Says Hi"
echo "Child PID is" $PID
echo "Parent PID is " $PPID
sleep 2
done
以下是会话记录
u0012734@l273pp039_pub[/home/u0012734] > Parent.sh
In Parent : Before
Child Says Hi
Child PID is 16618
Parent PID is 18640
Child Says Hi
Child PID is 16618
Parent PID is 18640
Child Says Hi
Child PID is 16618
Parent PID is 18640 <----- I pressed CTRL-C Here
Quit on Child
u0012734@l273pp039_pub[/home/u0012734] >
我期待父脚本继续执行 Parent.sh 的第三和第四行,但这并没有发生。可能是什么问题?请指导。
以下答案有所帮助。我还发布了一个链接,其中包含一些与SIGINT 相关的详细信息并处理得很好