次の2つのスクリプトがあります
親.sh
#!/usr/bin/ksh
echo "In Parent : Before"
Child.sh
echo "In Parent : After"
read
Child.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 の 3 行目と 4 行目の実行を継続することを期待していましたが、そうはなりませんでした。問題は何ですか?ガイドしてください。
以下の回答が役に立ちました。また、 SIGINTに関連するいくつかの詳細とそれを適切に処理するリンクを投稿しています