node.js child_process.spawn ошибка ENOENT - только под наблюдением

Я запускаю команду с Node.js, используя child_process.spawn:

#!/usr/bin/js

var spawn = require("child_process").spawn;

var stockfish = spawn("stockfish");

Это работает нормально, используя$js spawntest.js из командной строки; он просто зависает, как и следовало ожидать, потому что подкоманда ожидает ввода.

Когда я настраиваю этот скрипт как программу-супервизор, он не работает:

$ sudo supervisorctl start spawntest
spawntest: ERROR (abnormal termination)

Вот содержимое выходного журнала stderror, который супервизор хранит в /var/log/supervisor/spawntest-stderr---supervisor-RyULL0.log:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

Программа supervisorctl настроена так:

[program:spawntest]
command=/home/gus/dev/spawntest.js
autostart=false
autorestart=false
user=gus

Почему это терпит неудачу только под наблюдателем? Существуют ли какие-либо модули / глобальные переменные Node.js и т. Д., Которые я могу использовать, чтобы увидеть разницу между вызовом сценария напрямую и через Supervisor?

Ответы на вопрос(0)

Ваш ответ на вопрос