サブシェルで2番目のスクリプトを実行するスクリプトがあります。2番目のスクリプトに信号を送信できる最も早いのは何ですか?
script1:
./script2 &
kill -SIGCONT $!
script2:
echo "~~ ENTRY"
trap 'SUSPEND=false' SIGCONT
SUSPEND=true
while $SUSPEND; do; sleep 1; done
echo "~~ EXIT"
これは機能せず、ターミナルは「サスペンド」モードでハングします。私の推測では、kill
script2を実行した後すぐに呼び出すため、script2のトラップには解析する時間がないため、何も起こりません-競合状態。
では、子プロセスにシグナルを送信できる最速の時間は何ですか-確実にトラップされますか?
あなたができることは
—
バーマー14
script2
、信号をトラップした後にファイルに書き込むようなことをすることです。script1
ループして、ファイルの変更を確認できます。
script2
、trap
コマンドに到達しない可能性があります。