我是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
以上所有命令均有效。
- 我是否应该优先选择一个命令?
- 如果是,那为什么呢?
- 我还有其他需要注意的命令吗?
当我想使用状态选项时,在Monit中使用init.d会引起问题(状态是该服务实际上处于联机状态,但该服务已脱机-由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
或类似名称直接调用开始/停止脚本。