Node-Webkit子产生UNKNOWN错误
我正试图在我的Windows文件系统的其他地方启动一个.exe。
spawn = require('child_process').spawn; game.process = spawn(path.join(config.values.armaPath, 'arma3.exe'), { detached: true });
我已经把它包装在一个try / catch中,我得到的错误是没有帮助的:
Error {code: "UNKNOWN", errno: "UNKNOWN", syscall: "spawn", stack: (...), message: "spawn UNKNOWN"}code: "UNKNOWN"errno: "UNKNOWN"message: "spawn UNKNOWN"
我已经确认path.join到.exe是正确的。
我也试过了
game.process.stdout.on('error'...
但永远不会发生。
编辑,我也试过另一种方法:
var child = execFile(path.join(config.values.armaPath, 'arma3.exe'), function(error,stdout,stderr) { if (error) { console.log(error.stack); console.log('Error code: '+ error.code); console.log('Signal received: '+ error.signal); } console.log('Child Process stdout: '+ stdout); console.log('Child Process stderr: '+ stderr); } );
但是,只是相同的代码错误,就像try / catch块错误被抛出之前,从spawn函数调用被调用。
有趣的是,我已经尝试在相同的目录中调用一个.exe,它确实工作…
目标.exe有“运行这个程序作为pipe理员”打勾。 为了让node-webkit执行它,我的节点应用程序也必须以pipe理员身份运行。