Я новичок в Linux и тестирую себя на экземпляре Amazon Lightsail (Ubuntu 16.04 LTS).
Просматривая множество руководств, с которыми я сталкивался, я вижу людей, использующих различные команды для запуска / остановки / перезапуска / перезагрузки / проверки состояния службы. Именно эти;
sudo systemctl status apache2.service
sudo /bin/systemctl status apache2.service
sudo /etc/init.d/apache2 status
sudo service apache2 status
Все вышеперечисленные команды работают.
- Должен ли я предпочесть одну команду другой?
- Если да, то почему?
- Есть ли другие команды, о которых мне нужно знать?
Использование init.d в Monit вызвало проблемы, когда я захотел использовать опцию состояния (статус будет состоять в том, что служба была отключена, когда она была на самом деле - перезапущена Monit). Измените код в Monit с inid.d на / bin / systemctl и исправьте его.
Кажется, что использование init.d предоставляет больше информации о том, что случилось с другими. Если мне нужно использовать одну из других команд, возможно ли, чтобы они отображали больше информации о том, что было сделано?
ubuntu@ip-172-26-12-245:~$ sudo systemctl restart pure-ftpd.service
ubuntu@ip-172-26-12-245:~$ sudo /bin/systemctl restart pure-ftpd.service
ubuntu@ip-172-26-12-245:~$ sudo /etc/init.d/pure-ftpd restart
[ ok ] Restarting pure-ftpd (via systemctl): pure-ftpd.service.
ubuntu@ip-172-26-12-245:~$ sudo service pure-ftpd restart
ubuntu@ip-172-26-12-245:~$
Я хотел бы заранее поблагодарить всех, кто нашел время, чтобы прочитать и ответить на этот вопрос.
systemctl
является предпочтительным синтаксисом и service
предоставляется в качестве обратной совместимости. /etc/init.d/pure-ftpd
или аналогичные вызовы сценариев запуска / остановки напрямую.