У меня следующая файловая структура:
--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
расширение имени файла или нет.