【问题标题】:Makefile : How to runs 2 distinct shells?Makefile:如何运行 2 个不同的 shell?
【发布时间】:2015-07-22 02:21:08
【问题描述】:

我使用生成文件来存储我的进程。这些过程之一需要服务器。另外,我的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?

【问题讨论】:

  • 你为什么首先使用 make ?!
  • 这是一个更大的项目,我简化了问题的代码。我实际上有 12 个 makefile,每个都有大约 30 个命令。另外,我是这种服务器端开发的新手,想知道如何进行。
  • 在这种情况下,一个有点可怕的选择是使用make -j2。在这里,您授予 make 权限以同时为两个目标运行配方。正是您想要的。

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


【解决方案1】:

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

服务器 : 节点 ./node_modules/.bin/forever ./node_modules/.bin/http-server &

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多