я использую дочерний процесс в своем приложении узла, в большинстве случаев все работает хорошо, но иногда я получаю код выхода 12.
вот как я начинаю процесс
const childProcess = require('child_process');
const child = childProcess.fork('Path to file');
child.send({data})
обработка на выходе:
child.on('exit', (code) => {
child.kill();
console.info (code)
)}
и я получаю "12",
Любые идеи? я не знаю, как отлаживать дочерний процесс
Спасибо!





Я действительно столкнулся с той же проблемой. Я думаю, что код выхода относится к коду выхода дочернего процесса узла. В документации Node.js упоминаются все коды выхода. Вот ссылка - https://nodejs.org/api/process.html#process_exit_codes. Упоминается возможное решение с использованием кластеров. Ссылка на выпуск Github - это.
Вот решение. Код выхода 12 - это ошибка, которая может быть сгенерирована из-за того, что для вашего дочернего процесса не определен порт отладки. Вы должны добавить флаг --inspect к дочернему процессу, чтобы избавиться от ошибки. Перейдите по ссылке это, чтобы добавить аргумент. Вот мой скриншот кода. Надеюсь, это поможет.
Удачного кодирования.
{execArgv: ['--inspect']} в webstorm работает хорошо, спасибо.
Просто добавь{execArgv: ['--harmony']}
const child_process = require('child_process');
let child = child_process.fork('./child.js', 'first_child', {execArgv: ['--harmony']});
Дочерняя программа может установить для кода выхода процесса любое желаемое значение. У ценности нет универсального значения. (Часто значение 0 означает «успех», а ненулевые значения указывают на различные типы сбоев, но это всего лишь соглашение. Программа не обязана следовать этому соглашению.) Чтобы выяснить, что означает значение 12 в этом случае, вы: Вам нужно будет прочитать документацию для этой конкретной дочерней программы, или прочитать исходный код, или спросить разработчиков.