CentOS 7 systemctl - без обратной связи или статуса / вывода

Я только что установил CentOS 7.1 на один сервер, и меня смущает, как systemctl работает по сравнению со службой .

В CentOS 6 , Я бы получил обратную связь при запуске службы , например:

root@centos6 [~]# service mysql restart
Shutting down MySQL........................................[  OK  ]
Starting MySQL.............................................[  OK  ]

root@centos6 [~]# service mysql status
MySQL running (910285)                                     [  OK  ]
root@centos6 [~]#

Однако в CentOS 7, когда я использую systemctl , я ничего не получаю. Я не знаю, что случилось, или что-то вообще произошло:

root@centos7 [~]# systemctl restart mysql
root@centos7 [~]# /bin/systemctl restart  mysql.service

# Nothing happened

И когда я запускаю службу в CentOS 7, происходит следующее:

root@centos7 [~]# service mysql restart
Redirecting to /bin/systemctl restart  mysql.service

Что мне не хватает?

4
задан 24 November 2015 в 09:35
4 ответа

Как и любая хорошая команда unix, systemctl ничего не выводит, если только не возникла проблема или вы выполнили команду, которая явно требует вывода. Если вы ничего не видите, значит команда выполнена успешно.

Если хотите, вы можете запустить systemctl status mysql , чтобы увидеть его текущий статус.

6
ответ дан 3 December 2019 в 02:57

С момента появления облака люди больше не запускают и останавливают службы вручную, поэтому эта команда не требует обратной связи, даже в качестве опции. Спасибо за полет по systemd!

-3
ответ дан 3 December 2019 в 02:57

Вот что я делаю:

systemctl start my-service && journalctl -fexu my-service

journalctl - это самый простой способ получить вывод из ваших системных служб.

  • -f следует за выводом журнала ] my-service , пока я не выйду (ctrl-C).
  • -e прокручивает до конца (самых последних) сообщений журнала.
  • -x объяснения из каталога сообщений журнала, если таковые имеются.
    (См. Также https://www.freedesktop.org/wiki/Software/systemd/catalog/ )
  • -u покажет только журналы из my-service ед.
4
ответ дан 3 December 2019 в 02:57

Мое "решение" это (сделано давно) заключалось в написании мини-скрипта, который в основном делает то, что предлагается в одном из ответов выше: systemctl перезапускает myservice и сразу после этого systemctl status myservice, поэтому вы просто запускаете перезагрузку и получаете статус впоследствии. Я также согласен с тем, что это ненужное решение, поскольку в systemctl уже должна быть реализована опция verbose/status, но это то, что есть.

0
ответ дан 30 June 2021 в 17:21

Теги

Похожие вопросы