节点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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...