
Я создал собственный скрипт инициализации для запуска веб-приложения Mono в mod-mono-server2
контейнере (я не использовал его AutoHosting
, но знаю об этом).
Когда у меня был openSUSE 11.4, init
я мог прочитать на консоли, что именно пошло не так. Теперь мне пришлось перенести свое приложение на сервер с openSUSE 12.1, который использует systemctl
, и было сложно понять, почему оно не запускается.
Команда запуска — это просто типичная команда sudo -u mono-user mod-mono-server2 [params]
, которая записывает PID в файл /var/run/spambusters/
(чтобы убить его, когда я захочу остановиться). Когда я пытаюсь это сделать, /etc/init.d/spambusters start
я просто получаю общий Job failed. See system logs and 'systemctl status' for details.
.
Но я не могу получить больше информации.........
spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
Loaded: loaded (/etc/init.d/spambusters)
Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
CGroup: name=systemd:/system/spambusters.service
â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so
Системный журнал /var/log/messages
содержит только
Sep 7 20:37:56 dom sudo: root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs
Хотя я понимаю, что этот вопрос также может быть полезен для serverfault.com, поскольку он связан с администрированием серверов,Мой прямой вопрос:
Как найти дополнительную информацию об ошибке в скрипте init, если корневым процессом является systemctl, а не init?
решение1
Если ОС использует systemd-journald,
journalctl -a _SYSTEMD_UNIT=spambusters.service
(Последняя версия systemd показывает то же самое в systemctl status
, но в OpenSuSE установлена более старая версия.)
Также,не использоватьsudo
если вы хотите, чтобы он запускался только от имени другого пользователя.ИспользоватьUser=spambusters
вместо.