我正在尝试让我的节点服务器在Linux托管的NODEJS实现上启动.exe文件
我的.exe位于此处:'/home/username/projects/ProjectName/server/webserver/Project.exe'
以及当我尝试启动exe时
with:
exec('/home/username/projects/ProjectName/server/webserver/Project.exe', ["/home/username/projects/ProjectName/server/webserver/files/"+date], function(err, data) {
}
我收到文件不喜欢的错误
看起来像这样:
{ Error: Command failed: /home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/31005
/home/username/projects/ProjectName/server/webserver/Project.exe: 1: /home/username/projects/ProjectName/server/webserver/Project.exe: MZ�##���@�#��: not found
/home/username/projects/ProjectName/server/webserver/Project.exe: 2: /home/username/projects/ProjectName/server/webserver/Project.exe: Syntax error: ")" unexpected
at ChildProcess.exithandler (child_process.js:294:12)
at ChildProcess.emit (events.js:198:13)
at maybeClose (internal/child_process.js:982:16)
at Socket.stream.socket.on (internal/child_process.js:389:11)
at Socket.emit (events.js:198:13)
at Pipe._handle.close (net.js:606:12)
killed: false,
code: 2,
signal: null,
cmd:
'/home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/31005' }
[当尝试在具有Windows目录而不是Linux的基于Windows的NodeJS上运行相同的功能时,它可以工作,可以在Linux上通过Wine来打开该文件,在我的函数调用中需要我指导它打开的地方。 exe与酒?如果是这样,我该怎么做?
尝试一下
const { exec} = require('child_process');
exec('wine /home/username/projects/ProjectName/server/webserver/Project.exe /home/username/projects/ProjectName/server/webserver/files/'+date,
function(err, data){
});
https://superuser.com/questions/1058985/launch-program-with-wine-using-exe-argumentshttps://stackoverflow.com/a/49069169/12167785
我通过以下方式获得了所需的功能:
exec("wine", ["/home/username/projects/ProjectName/server/webserver/Project.exe", date], function(err,data){
}