【问题标题】:nodejs: run long command several timesnodejs:多次运行长命令
【发布时间】:2012-04-21 14:59:51
【问题描述】:

我有一个命令需要执行 3 次。它生成大量输出到标准输出,大约需要一分钟。在三个命令完成后,应该执行第四个(不同的)命令。 shell 脚本如下所示:

#!/bin/sh
command arg1 arg2
command arg1 arg2
command arg1 arg2
something_else

我正在考虑在循环中使用child_process.exec(),但这会缓冲标准输出直到它完成(对吗?)。我需要立即向用户提供反馈,因此将标准输出缓冲一秒钟以上并不是一个好主意。所以我需要使用child_process.spawn(),但异步处理让我有点抓狂。我正在考虑将 spawn 调用放在这样的函数中:

fucnction myfunc(runs) {
   if (runs >= 1) {
       myproc = spawn(...)
       myproc.on('exit',function() { myfunc(runs - 1) })
   }
}

我认为这会起作用。但是有更好的方法吗?我在 unix 上,也许在 windows 系统上。

【问题讨论】:

    标签: node.js process spawn


    【解决方案1】:

    节点模块 async 具有您可以在一段代码中并行完成所有工作的功能。

    查看异步 (https://github.com/caolan/async)

    还可以查看集群 (http://nodejs.org/docs/latest/api/cluster.html)

    【讨论】:

      猜你喜欢
      • 2020-02-14
      • 2013-05-27
      • 2021-06-28
      • 2015-05-15
      • 2016-06-07
      • 2020-03-05
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      相关资源
      最近更新 更多