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

时间:2015-05-11 14:16:03

标签: node.js bash makefile gnu-make forever

我使用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?

1 个答案:

答案 0 :(得分:1)

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

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