2

次の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に関連するいくつかの詳細とそれを適切に処理するリンクを投稿しています

4

1 に答える 1