Выполнять исполняемые файлы Unix (Python) в Electron - PullRequest
0 голосов
/ 27 августа 2018

У меня следующая файловая структура:

--backend/
---script (unix executable)
--src/
---script_launcher.js
---main.js
--all other necessary files

script - это исполняемый файл Unix, который я собрал из скрипта Python, используя pyinstaller.script_launcher.js должен запустить исполняемый файл unix script, передать через него аргументы через стандартный ввод и прослушать: любой стандартный вывод / любые ошибки / после завершения выполнения скрипта.До запуска unix у меня был файл .py на его месте, который я бы назвал, используя модуль npm Python-shell из script_launcher.js.Я знаю, что должен использовать child-processes, но тогда:

  • spawn, кажется, работает только на скриптах Python, а не на исполняемых файлах Unix (не позволяет мне выполнять script)

const spawn = require("child_process").spawn; const pythonProcess = spawn("path/to/script", arg1, arg2);

  • exec или execFile, по-видимому, не позволяют мне читать информацию, которую я описал выше, так, как python-shell позволяет мне читать информацию.

Как лучше всего решить эту проблему для вызова исполняемых файлов Unix?Кроме того, при вызове их я должен использовать путь как /path/to/script или /path/to/script.exec?Я действительно не понимаю, имеет ли script расширение имени файла или нет.

1 Ответ

0 голосов
/ 27 августа 2018

Просто передайте исполняемые места и аргументы командной строки

const unixProcess = spawn('path/to/executable',[arg1, arg2, arg3, ...]);

Пример

const unixProcess = spawn('/usr/bin/whoami',[arg1, arg2, arg3, ...]);
...