Makefile:如何运行 2 个不同的 shell?

Makefile : How to runs 2 distinct shells?

我使用 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 个不同的终端中手动运行任务,我可以使其正常工作。

如何以编程方式为每个任务运行 2 个不同的 shell?

您需要将服务器进程发送到后台,以便客户端脚本可以执行:

server :
   node ./node_modules/.bin/forever ./node_modules/.bin/http-server &