スクリプトを数秒間実行する方法を探していますが、それらの秒がx
経過する前にスクリプトを中断する可能性があります。x
Ctrl-Cの機能が必要ない場合は、次のように記述します。
./my_script &
sleep $x
kill $!
しかし、ここでスクリプト中にCtrl-Cを実行すると、フォークは実行を続けます。
サブシェルで起動した場合にスクリプトを強制終了する方法を知っています。
trap "echo sub-script terminated" INT
(./my_script)
trap - INT
しかし、それをフォークに置き換える方法がわかりません(私が認めなければならない2つの概念の違いがはっきりとわかりません)。
編集:ソリューションがどれほどポータブルであるかを知りたいのですが、あなたの答えの中でそれを述べることができれば、それは私にとって大きな価値があるでしょう。