Порождает сложный процесс (sipp) внутри приложения докеризованного узла

Я запускаю приложение докеризованного узла. У него есть несколько дочерних процессов, и они работают нормально, один процесс неожиданно возвращает "1"! вот строка из моего server.js:

var child = child_process.spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"});
logger.info(child.status);

когда я захожу в контейнер и запускаю ту же самую строку из bash из текущего рабочего каталога, как показано ниже, он работает нормально (возвращает 0)

node
>require('child_process').spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"});

Я почти уверен, что вызов sipp даже не начинается с первой команды.

мои последние строки файла Docker

WORKDIR /root/config  #this is the location of my server app
ENTRYPOINT ["node", "server.js"]

Я знаю, что проблема немного специфична, но любая общая помощь в отладке spawnSync приветствуется.


Решено: после дальнейшей отладки я обнаружил, что spawnSync возвращается

"Ошибка открытия терминала: неизвестно."

и было решено добавить переменную среды "export TERM = xterm". https://nology.de/docker-error-opening-terminal-unknown.html

0 ответов

Другие вопросы по тегам