微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

节点JS上生成(Windows Server 2012)

当我通过节点运行它:
var spawn = require('child_process').spawn;

ls = spawn('ls',['C:\\Users']);

ls.on('error',function (err) {
  console.log('ls error',err);
});

ls.stdout.on('data',function (data) {
    console.log('stdout: ' + data);
});

ls.stderr.on('data',function (data) {
    console.log('stderr: ' + data);
});

ls.on('close',function (code) {
    console.log('child process exited with code ' + code);
});

我收到以下错误

ls error { [Error: spawn ENOENT] code: 'ENOENT',errno: 'ENOENT',syscall: 'spawn' }
child process exited with code -1

在Windows Server 2012.任何想法?

解决方法

(首先,ls实际上存在于windows上?)

我有一个类似的问题产生子进程一点点回来,花了我几年时间来找出正确的方法.

以下是一些示例代码

var spawn = require('child_process').spawn;
var cp = spawn(process.env.comspec,['/c','command','-arg1','-arg2']);

cp.stdout.on("data",function(data) {
    console.log(data.toString());
});

cp.stderr.on("data",function(data) {
    console.error(data.toString());
});

看看这张机票,解释这个问题:https://github.com/joyent/node/issues/2318

原文地址:https://www.jb51.cc/js/153282.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐