Bash 如何使用codeception和PhantomJS在Jenkins中同时运行2个命令?

Bash 如何使用codeception和PhantomJS在Jenkins中同时运行2个命令?,bash,jenkins,phantomjs,codeception,headless-browser,Bash,Jenkins,Phantomjs,Codeception,Headless Browser,我想创建一个jenkins作业,在phantomjs上使用codeception运行我的验收测试 所以首先我需要启动phantomjs headless服务器 phantomjs --webdriver=4444 现在当它运行时,我将使用 php codecept.phar run acceptance 但当我定义詹金斯的工作时, 我为这些命令添加了一个shell脚本 但是当我运行第一个命令时:“phantomjs--webdriver=4444” 所以bash在运行命令时被卡住了。。。因此

我想创建一个jenkins作业,在phantomjs上使用codeception运行我的验收测试

所以首先我需要启动phantomjs headless服务器

phantomjs --webdriver=4444
现在当它运行时,我将使用

php codecept.phar run acceptance
但当我定义詹金斯的工作时, 我为这些命令添加了一个shell脚本

但是当我运行第一个命令时:“phantomjs--webdriver=4444”
所以bash在运行命令时被卡住了。。。因此,我无法运行下一个命令。

在后台运行phantomjs服务器,否则它将不会结束(因此您的php命令将永远无法访问):

要在之后结束phantomjs,可以使用
$
,一个特殊变量,包含后台运行的最后一个进程的pid

kill $!

这安全吗?如果其他东西从其他服务在后台运行,它不会杀死任何其他东西?
$
包含当前shell中放入后台的最新进程的pid。它将无法影响来自其他shell的任何进程(shell脚本在自己的shell中运行)。您可以验证在脚本末尾放置类似于
jobs>jobs.txt的命令而不是
kill
命令不会影响任何内容。这将输出当前shell中所有后台进程的列表-只应列出
phantomjs
命令。
kill $!