【问题标题】:Using on.exit inside the function callback of exec在 exec 的函数回调中使用 on.exit
【发布时间】:2014-07-02 02:44:33
【问题描述】:

我有运行 exec 的 javascript 代码,类似于

exec('binary with argument', function(error, stdout,stderr)
{

// Calls a callback function if error is encountered
}

我还想使用该二进制文件的退出状态发送到上面的回调函数。一般的做法是

child.on("exit", function (code) {
  console.log("exit:", code)
})

如何将上述退出实用程序集成到 exec 错误处理程序中,以便捕获返回的错误代码并将其传递给回调函数?

【问题讨论】:

  • 你说的是nodejs子进程还是什么?
  • 是的没错...nodejs 的 child_process exec 和 on.('exit', function(code))
  • 那么,结合这两个 sn-ps 并从两个处理程序调用相同的回调函数,您的问题是什么?
  • 最初调用 exec 并返回错误时,我将 stderr 传递给用户定义的回调。我尝试在第一个 sn-p 中使用此代码,但它不返回任何内容,但如果在外部使用它确实返回正确的代码。如何修改第二个 sn-p 以便在第一个 sn-p 中使用时返回正确的代码。
  • 不要在第一个sn-p里面使用?你为什么要这样做?

标签: javascript node.js exec exit child-process


【解决方案1】:

我需要二进制文件的退出状态,以便在第一个 sn-p 中将其返回给用户定义的回调。

根据the docs,您无需监听exit 事件即可:

回调获取参数(error, stdout, stderr)。成功时, error 将是 null。出错时,error 将是一个实例 Errorerror.code 将是孩子的退出代码 进程,error.signal 将被设置为终止的信号 过程。

【讨论】:

  • 非常感谢..它帮助了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 2018-02-27
  • 2017-11-27
  • 1970-01-01
  • 2019-06-25
  • 2020-01-16
相关资源
最近更新 更多