Насколько я могу судить по инструкциям в api docs. Я запускаю процесс, используя параметры detached:true, stdio:['ignore','ignore','ignore']
, я вызываю unref
в ChildProcess. У ChildProcess есть pid, поэтому я думаю, что он был успешно запущен. Я пытаюсь запустить сервер Yeti из задачи. Этот код находится в асинхронном вызове, поэтому next
продолжает и в конечном итоге завершает задачу. Я использую which
, чтобы получить cmd
, и его правильный путь к сценарию Yeti в /usr/local/bin
на Mac OSX 10.9. Порт также определяется пустым портом. Если я запускаю ту же команду в командной строке, она работает нормально. После выхода grunt я вызываю ps aux | grep node
и ps aux
и grep для зарегистрированного pid и ничего не работает. Вот код:Отдельный дочерний процесс завершает выход скрипта в node.js
yeti = spawn("" + cmd + " --server --port " + port, [], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore']
});
yeti.unref();
next("Yeti server is running. pid: " + yeti.pid);
Ха-ха, что сделали это! Благодарю. –