gpt4 book ai didi

shell - 如何在 travis 上启动和停止后台任务?

转载 作者:行者123 更新时间:2023-12-04 16:59:42 26 4
gpt4 key购买 nike

我需要在 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

关于shell - 如何在 travis 上启动和停止后台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com