当我使用 Jenkins 构建我的项目时,我需要启动一个 nodejs 服务器进程来托管一些文件,如果我要像下面这样启动这个进程,构建将无限挂起
<target name="staticserver" description="Starts nodejs static server">
<exec executable="node">
<arg value="${env.WORKSPACE}staticserver.js"/>
</exec>
</target>
所以我切换到以下,构建运行良好
<target name="staticserver" description="Starts nodejs static server">
<exec executable="cmd.exe">
<arg value="/c"/>
<arg value="start"/>
<arg value="node"/>
<arg value="${env.WORKSPACE}staticserver.js"/>
</exec>
</target>
但是,当 Jenkins 构建完成时,节点进程仍处于活动状态。
我四处搜寻,但似乎每个人杀死子进程的问题是詹金斯杀死了所有子进程......
我应该如何启动节点进程,以便 Jenkins 可以在构建完成后正确终止它?我是否从错误的角度处理这个问题,需要从不同的方向看待它?
谢谢。