首先我想说,我已经彻底搜查解决我的网页/计算器问题..背景功能没有得到杀害
我在下面的shell脚本的场景:
#!/bin/bash
{
while :
do
echo "running"
sleep 2
done
}&
procid=$!
echo $procid
trap "kill -15 $procid" 2 15
即使中断与Ctrl-C键的处理之后,后台进程仍然打印“跑”中提示。 我必须使用“kill -9 PID”从终端杀死后台进程,其中PID是后台进程的进程ID。我尝试了没有&(没有在后台运行),脚本用Ctrl-C很好地结束了。
这些问题的解决方案建议在这些链接中,但它不能按需要工作(后台进程没有被杀死)。 我提到这些链接:
How do I kill background processes/jobs when my shell script exits?
我怀疑你打断发布脚本,因为它不需要等待就可以完成,所以看起来这个脚本是n代表你的实际情况。 – Armali