我需要在 travis 上启动并重新启动自定义 Web 服务器。使用子 shell 在后台启动就可以了(.travis.yml
):
- if [ "$TEST_ADAPTER" = "HTTP" ]; then (vendor/bin/httpd.php start &); fi
为了再次停止/终止该进程,我尝试获取其 PID,然后终止它:
- if [ "$TEST_ADAPTER" = "HTTP" ]; then (vendor/bin/httpd.php start &) && SERVER_PID=$!; fi
- ...
- if [ "$TEST_ADAPTER" = "HTTP" ]; then kill -9 $SERVER_PID && ...; fi
然而,SERVER_PID
是空的。
获取 travis 上后台进程的 PID 以停止它的正确方法是什么(复杂:不使用额外的 shell 脚本)?
在这里回答问题,@xmonk 的答案在功能方面是正确的,但需要一个外部 shell 脚本,而该脚本又需要使用临时文件来写入 pid 值。
我刚刚发现 travis-ci 实际上允许多行语句,这简化了整个事情。把这个放进去.travis.yml
:
- |
if [ "$TEST_ADAPTER" = "HTTP" ]; then
vendor/bin/httpd.php&
SERVER_PID=$!
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)