当我通过Node运行此命令时:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句