我正在寻找一种方法来运行脚本几秒钟,并且仍然有可能在这些几秒钟过去x
之前中断它。x
如果我不需要 Ctrl-C 的能力,我会写
./my_script &
sleep $x
kill $!
但是在这里,如果我在脚本期间按 Ctrl-C,则 fork 会继续运行。
如果在子外壳中启动,我有点知道如何杀死脚本:
trap "echo sub-script terminated" INT
(./my_script)
trap - INT
但我不知道如何将其转换为分叉(我不清楚我必须承认的两个概念之间的区别)。
编辑:我想知道解决方案的便携性,如果你能在你的答案中提到这一点,那对我来说很有价值。