@m1ax said in Запустить процесс (аналог node.js):
Перерыл куча инфы, но так и не смог через бас сделать такие действия как "Ждать завершения", "Стандартный вывод процесса", "Вывод процесса с ошибками".
Вот из модуля Android Manager.
const { spawn } = require("child_process");
async function spawnChild(cmd, params) {
const child = spawn(cmd, params, {shell: true});
let data = "";
for await (const chunk of child.stdout) {
data += chunk;
}
let error = "";
for await (const chunk of child.stderr) {
error += chunk;
}
const exitCode = await new Promise((resolve, reject) => {
child.on("close", resolve);
});
if (exitCode) throw new SubprocessError(exitCode, error || data);
return data;
}
module.exports = async (cmd, params=[]) => {
return spawnChild(cmd, params)
.then(data => data.split("\r\n").filter(el => el));
}