Как открыть файл .exe на Linux Hosted NodeJS - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь, чтобы мой сервер узлов запустил файл .exe в размещенной на Linux реализации NODEJS

Мой .exe находится здесь: '/home/username/projects/ProjectName/server/webserver/Project.exe'

и когда я пытаюсьзапустите exe

с:

   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 NodeJS с каталогами Windows вместо Linux, он работает, файл может быть открыт через Wine на Linux, есть ли где-то в моем вызове функции, где мне нужно направить его, чтобы открыть .exe с WINE? Если да, то как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Я получил желаемую функциональность, используя следующее:

exec("wine", ["/home/username/projects/ProjectName/server/webserver/Project.exe", date], function(err,data){
}
0 голосов
/ 08 октября 2019

Попробуйте это

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-arguments https://stackoverflow.com/a/49069169/12167785

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...