Нет вывода команды запуска / остановки / перезапуска службы

10

Я только что установил Ubuntu 16.04 LTS и обнаружил, что при запуске

usr@server:~$ sudo service <servicename> restart
usr@server:~$

Служба перезапускается (я вижу статус с service <servicename> status), но оболочка возвращается прямо в командную строку без ожидаемого:

* Stopping <servicename>     [ OK ]
* Starting <servicename>     [ OK ]
Эдуардо Кория
источник
Вы смотрели журналы, чтобы узнать, есть ли какая-либо информация, которая может помочь диагностировать проблему? Это должно быть в / var / log /
Диего
2
С самим сервисом проблем нет. Это командная строка возвращается без вывода выводит меня в тупик. Это происходит с каждым сервисом. Команда делает то, что ожидается (запуск / остановка / перезапуск службы), но нет вывода
Эдуардо Кория

Ответы:

9

Вы не должны ожидать такого выхода.

Для начала, Ubuntu не вел себя так в более ранних версиях. Ubuntu была новейшей системой чуть менее десяти лет, и поведение serviceкоманды в Ubuntu за все эти годы не соответствовало тому, что вы ожидаете. Поведение команды upstart serviceна изображении показано в разделе Как получить служебную команду для печати вывода в 15.10? ,

Ответ для вас почти такой же, как и для людей с Ubuntu версии 15.10 в прошлом году:

Вы используете Ubuntu версии 16.10, системную операционную систему. Управление системными службами больше не выполняется программой upstart (или любой другой утилитой, которая выполняла это в любой другой операционной системе, кроме Ubuntu). Это выполняется systemd.

Команда serviceможет быть той же самой ... но команда Debian / Ubuntu serviceявляется сценарием оболочки, который пытается автоматически определить, является ли upstart или systemd запущенным диспетчером системных служб, и выполнить фактические собственные команды управления службами для upstart и systemd. Он выполняет два совершенно разных пути кода для upstart и для systemd.

собственные команды управления услугами выскочки являются initctl start, initctl stop, initctl statusи так далее. Эти печатные сообщения, как они идут.

собственные команды управления услугами Systemd являются systemctl start, systemctl stop, systemctl statusи так далее. Те не выводят вывод, как они работают.

дальнейшее чтение

JdeBP
источник
1
«Вы не должны ожидать такого выхода». не лучшее место, чтобы начать ответ. Вы в основном говорите: «Ваше мнение неверно». Я думаю, вы хотели сказать, что «это невозможно с помощью systemd». В первые дни, выход UID Ubuntu DID ... это вопрос "Как получить команду службы для вывода вывода в 15.10". До 15.10 Ubuntu использовал upstart, а upstart (как sysvinit) был многословным. Поэтому, пожалуйста, не говорите: «Так было уже десять лет». Это не имеет. Это изменилось в 15.10. Systemd не многословен, и это было супер раздражающим с тех пор, как дистрибутивы начали его развертывать.
Бобпаул
Спрашивающий довольно ясно сказал вам, что ожидал xe, и вывод выскочки не похож на это. Вы запутались или не читали вопрос.
JdeBP
0

На самом деле вам не нужен вывод ОК. Нет вывода означает ОК. Когда служба не запускается должным образом, Ubuntu покажет вам что-то вроде этого:

Задание для php5.6-fpm.service не выполнено, поскольку процесс управления завершился с кодом ошибки. Смотрите "systemctl status php5.6-fpm.service" и "journalctl -xe" для подробностей.

В моем случае этот пример был неверной конфигурацией на моем php-fpm.conf, что отключало запуск службы. После следования инструкциям я разобрался, что было причиной ошибки.

Филипе Маркиз
источник