可以配置为运行两个命令并在一个命令完成时终止这两个命令的实用程序

可以配置为运行两个命令并在一个命令完成时终止这两个命令的实用程序

是否有一个通用实用程序(Ubuntu,也许 OSX)可以运行服务器serve ./public,然后运行一些测试./run-chrome-tests.sh,一旦测试完成,就杀死serve ./public.

这可以在 bash 中完成,但如果可行的话,我宁愿创建配置,也不愿编写代码。

答案1

据我所知,没有这样的实用程序,但它很容易在 shell 脚本中实现。

一个简短的 shell 脚本,实现您所描述的内容:

#!/bin/sh

serve ./public & serve_pid=$!
./run-chrome-tests.sh

kill "$serve_pid"

您可能希望在后台sleep 3启动后插入一个调用(或类似的调用) ,以允许它在运行测试脚本之前正确初始化。serve

$!将是最近启动的后台作业(serve进程)的 PI​​D。当run-chrome-tests.sh脚本完成时,上面的脚本将serve通过使用 发出信号来显式终止进程kill

相关内容