一步启动守护进程
Start daemon as one step
我的测试工作流程需要启动 2 个 NodeJS 应用程序(稍后启动测试并将 REST 请求发送到启动的守护进程)。但显然 运行 node server.js
的步骤永远不会结束(当然直到服务器应用程序停止)。
我尝试按照 command='nohup node server.js &'
的方式开始,但它不起作用 - 仍在等待步骤完成。
如何将守护进程作为测试步骤之一启动?
好吧,我终于整理好了。我不知道为什么,但是如果 ShellCommand
中的命令没有返回到提示符(比如在命令末尾使用 &
时),它会被视为“未完成并被超时杀死。所以我不能只需像 nohup node ./server.js &
.
一样启动守护进程
但如果将此命令放在 shell 脚本中,则可以解决此问题。我创建了用于启动守护进程的运行程序并且它有效。
#!/bin/bash
CMD=" "
[ $# -eq 0 ] && { echo "Usage: [=10=] [FILE_1] [FILE_2] [FILE_3]"; exit 1; }
eval "${CMD}" &>/dev/null &!;
用法:/usr/local/bin/runner /node-v8.x-linux-x64/bin/node server.js
我的测试工作流程需要启动 2 个 NodeJS 应用程序(稍后启动测试并将 REST 请求发送到启动的守护进程)。但显然 运行 node server.js
的步骤永远不会结束(当然直到服务器应用程序停止)。
我尝试按照 command='nohup node server.js &'
的方式开始,但它不起作用 - 仍在等待步骤完成。
如何将守护进程作为测试步骤之一启动?
好吧,我终于整理好了。我不知道为什么,但是如果 ShellCommand
中的命令没有返回到提示符(比如在命令末尾使用 &
时),它会被视为“未完成并被超时杀死。所以我不能只需像 nohup node ./server.js &
.
但如果将此命令放在 shell 脚本中,则可以解决此问题。我创建了用于启动守护进程的运行程序并且它有效。
#!/bin/bash
CMD=" "
[ $# -eq 0 ] && { echo "Usage: [=10=] [FILE_1] [FILE_2] [FILE_3]"; exit 1; }
eval "${CMD}" &>/dev/null &!;
用法:/usr/local/bin/runner /node-v8.x-linux-x64/bin/node server.js