我使用 makefile 来存储我的进程。其中一个过程需要服务器。另外,我的 script.make 是这样的:
end: server script
# runs the 2 other tasks, 1st `server` then `script`
script:
node ./node_script_with_server_queries.js
server :
node ./node_modules/.bin/forever ./node_modules/.bin/http-server
然后我运行 makefile,启动服务器正常,但然后永远挂起:
$make -f ./script.make
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
Starting up http-server, serving ./ on: http://0.0.0.0:8080
Hit CTRL-C to stop the server
如果我在两个不同的终端中手动运行任务,我可以使其正常工作。
如何以编程方式为每个任务运行 2 个不同的 shell?
您需要将服务器进程发送到后台,以便客户端脚本可以执行:
server : node ./node_modules/.bin/forever ./node_modules/.bin/http-server &
我是一名优秀的程序员,十分优秀!