Я понимаю, что прошло много времени с тех пор, как был задан вопрос, но я только что столкнулся с той же проблемой ...
У вас на самом деле есть еще одна опция, чем упоминал Хоббс.
Это не совсем «сценарий инициализации», который отправляет STDERR в / dev / null, это Starman.
Если вы посмотрите на исходный код Starman, вы обнаружите, что, если вы установите флаг --background
, он использует MooseX::Daemonize::Core
.
И как только вы узнаете это, его документация скажет вам, что он намеренно закрывает STDERR, STDOUT и STDIN и перенаправляет их в / dev / null, И что он принимает переменные окружения MX_DAEMON_STDERR и MX_DAEMON_STDOUT в качестве именфайлы для использования вместо этого.
Так что, если вы запустите сервер катализаторов с MX_DAEMON_STDERR, для которого задано имя файла, STDERR перейдет к этому файлу.