Дочерняя функция процесса не запускается без ошибок - PullRequest
0 голосов
/ 29 апреля 2019

Я работаю над приложением Node.js, использующим Electron. Мне нужно получить доступ к исполняемому файлу в определенном каталоге и определить его вывод. Исполняемый файл представляет собой простое консольное приложение. Я прочитал документы по Child Process и попытался использовать execFile. Однако функция обратного вызова, похоже, не выполняется.

Вот мой код на данный момент:

var exec = require('child_process').execFile

exec('E:/SteamLibrary/steamapps/common/GarrysMod/bin/gmad.exe', [], function(err, data) { 
  console.log(err);
  console.log(data); 
});

Как я могу исправить это?

1 Ответ

1 голос
/ 29 апреля 2019

Вы используете Windows, поэтому execFile () не будет работать.Это указано на документах .. для удобства я использую пример документов здесь с небольшим изменением.

const { spawn } = require('child_process');
const bat = spawn('C/steam/steam.exe');

bat.stdout.on('data', (data) => {
  console.log(data.toString());
});

bat.stderr.on('data', (data) => {
  console.log(data.toString());
});

bat.on('exit', (code) => {
  console.log(`Child exited with code ${code}`);
});
...