процессы достаточно просто, что это не стоит того, чтобы обернуть их с модулем библиотеки или НПМ, если вы не нужны специальные функции, такие как автоматические паки фоновых демонов. Встроенный в Node API «child_process» обрабатывает процессы, и использовать его просто:
var childProcess = require("child_process");
var child = childProcess.spawn("/usr/bin/uname", ["-a"]);
child.stdout.setEncoding("utf8");
child.stderr.setEncoding("utf8");
var stdoutBuffer = "", stderrBuffer = "";
child.stdout.on("data", function(data){stdoutBuffer += data;});
child.stderr.on("data", function(data){stderrBuffer += data;});
child.on("close", function(code)
{
//the process exited with code `code`
console.log("Stdout:", stdoutBuffer);
process.exit(code); //bubble up the exit code
});
Если вам нужен заказ независимого асинхронный поток управления, следует использовать обещание (я рекомендую модуль НОГО 'д 'by kriskowal.) Создание обещания при запуске вашей задачи и ее разрешении/отклонении по завершении (в обработчике событий «закрыть») обеспечит чистый и предсказуемый способ выполнения последующих задач после выполнения фонового задания.
Стоит отметить, что если процесс, который вы собираетесь создавать, - это еще один скрипт узла, вы можете использовать child_process.fork() вместо spawn(). Они в основном делают то же самое, но fork() автоматически настраивает канал связи для дочернего процесса, который будет использоваться для отправки данных обратно родителям. –