Я хочу запустить сервис через xinetd, но он не работает. Это означает, что сразу после запуска сервиса он снова останавливается:
Sep 23 19:16:39 sektor xinetd[556]: START: service pid=559 from=xx.xx.xx.xx
Sep 23 19:16:39 sektor xinetd[556]: EXIT: service status=1 pid=559 duration=0(sec)
Есть ли способ получить сообщения об ошибках от службы, чтобы отследить проблему?
Я нашел что-то для x11vnc, которое говорит использовать -o /path/to/separate/logfile
, но я хотел бы знать, работает ли это с каждым (x) inetd-способным сервисом или это даже сам флаг xinetd.
@ grawity, так значит ли это, чтобы службы обеспечивали ведение журналов, работая под (x) inetd?
—
Никто
Это всегда зависит от служб - большинство используют системный журнал, некоторые журналы в файлы, другие нигде - не зависит от xinetd.
—
Гравитация
@ Grawity: Хорошо, возможно, регистрация была неправильным словом. Когда я запускаю, например, x11vnc в командной строке, это дает мне большой вывод на стандартный вывод. Конечно, это невозможно в xinetd, потому что stdout зарезервирован для связи. Таким образом, служба, которая работает под управлением xinetd, всегда должна предоставлять некоторую возможность получить вывод, который "обычно" будет на stdout?
—
Никто
В таких случаях должным образом написанный сервис должен использовать Syslog (или, при необходимости, собственный файл журнала). Кроме того, кстати, большинство программ используют stderr для таких сообщений, и более разумная версия inetd (например, systemd) может перенаправить stderr в журнал, сохраняя при этом stdin / out с сокетом.
—
Гравитация
-o
это аргументx11vnc
команды конкретно.