【问题标题】:Node.js - Call a system command or external commandNode.js - 调用系统命令或外部命令
【发布时间】:2015-08-29 15:40:15
【问题描述】:

我对 Node.js 有疑问。使用 Python,如果我想执行外部命令,我曾经这样做:

import subprocess
subprocess.call("bower init", shell=True)

我在 Node.js 中阅读了有关 child_process.execspawn 的信息,但我不能做我想做的事。我想要什么?

我想执行一个外部命令(如bower init)并实时查看其输出并与 bower 本身进行交互。我唯一能做的就是接收最终输出,但不允许我与程序进行交互。

问候

编辑:我看到this 的问题,但答案在这里不起作用。我想在外部程序需要时发送输入。

【问题讨论】:

  • 该答案显示了如何读取数据以及如何发送数据。目前尚不清楚您的编辑所要求的内容未涵盖在内。您将侦听进程中的数据,然后调用.write 将数据发送到进程。
  • 我要再试一次。看起来很简单,但是..
  • 如果你真的需要一个shell,那么看看pty.js。否则,child_process.spawn() 应该就是你所需要的。

标签: javascript node.js shell command


【解决方案1】:

这个怎么样?

var childProcess = require('child_process');

var child = childProcess.spawn('bower', ['init'], {
  env: process.env,
  stdio: 'inherit'
});

child.on('close', function(code) {
  process.exit(code);
});

似乎对我有用

【讨论】:

    猜你喜欢
    • 2015-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2013-06-26
    • 2012-08-06
    • 2010-09-10
    相关资源
    最近更新 更多