我正在尝试构建一个在 Web 服务器上运行单元测试的 bash 脚本。
我希望运行一个简单的 bash 脚本,该脚本可以(例如)在 makefile 中执行以下操作:
假设 Web 服务器是为 NodeJS 编写的,它可能如下所示:
npm start &
sleep 5
npm test
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是 Web 服务器将继续运行。舞台结束后如何停止npm test?
最后启动的后台进程的 PID 存储在 $! 中,因此启动 npm 后将其拾取并在需要时将其杀死:
npm start &
npm_pid=$!
...
kill $npm_pid
Run Code Online (Sandbox Code Playgroud)