我在终端会话中以交互方式执行此操作时收到coverage报告:
coverage run manage.py runserver --noreload &
pid=$!
manage.py test tests.functional_tests
/usr/bin/kill -s INT $pid
coverage report
但是如果我在bash脚本中放入相同的行并执行它,我就得不到覆盖率报告:
cat > mytest.sh <<EOS
coverage run manage.py runserver --noreload &
pid=\$!
manage.py test tests.functional_tests
/usr/bin/kill -s INT \$pid
coverage report
EOS
bash mytest.sh
在bash脚本/usr/bin/kill -s INT
内部不会终止Django开发服务器。我尝试发送不同的信号(HUP,TERM,ABRT,QUIT)无济于事。我做错了什么?