Apache Systemctl和service命令之间的区别

Apache Systemctl和service命令之间的区别,apache,ubuntu,service,systemctl,Apache,Ubuntu,Service,Systemctl,我总是以这种方式运行Apache服务器: sudo service apache2 start 但在许多指南中,我看到这样的命令: sudo systemctl start apache2 有人能很快写出这些命令之间的区别,并给我一些建议,告诉我在日常工作中应该使用什么命令吗?service对/etc/init.d中的文件进行操作,并与旧的init系统一起使用systemctl对/lib/systemd中的文件进行操作。如果在/lib/systemd中有服务文件,它将首先使用该文件,如果没有

我总是以这种方式运行Apache服务器:

sudo service apache2 start
但在许多指南中,我看到这样的命令:

sudo systemctl start apache2

有人能很快写出这些命令之间的区别,并给我一些建议,告诉我在日常工作中应该使用什么命令吗?

service
对/etc/init.d中的文件进行操作,并与旧的init系统一起使用
systemctl
对/lib/systemd中的文件进行操作。如果在/lib/systemd中有服务文件,它将首先使用该文件,如果没有,它将返回到/etc/init.d中的文件。 另外,如果您使用的是像ubuntu-14.04这样的操作系统,那么只有服务命令可用

因此,如果systemctl可用,则最好将其用于借用:

服务
是一个“高级”命令,用于
启动
重启、
停止
状态
不同Unix和Linux中的服务。取决于 “较低级别”服务管理器,服务在不同的服务器上重定向 二进制文件

例如,在CentOS 7上它重定向到systemctl,而在CentOS 6上它重定向到systemctl 它直接调用相对的
/etc/init.d
脚本。另一方面 另一方面,在较旧的Ubuntu版本中,它重定向到upstart

服务
适用于基本服务管理,而直接 调用
systemctl
可以提供更多的控制选项


systemctl
从这个目录运行服务文件:
/lib/systemd
服务作为sysvinit的助手脚本启动,后者成为一个包装脚本,无论是否有sysvinit或systemd都可以工作。

根据,
服务
是所有三个init系统(/init、systemd和upstart)的包装器丹·斯温是对的
service
是一个包装器,因此它比只有在
/etc/systemd/system/
中有
apache
服务配置的情况下才有效的
systemctl
更可取,如果“投票关闭”是一个副本,而不是复制/粘贴另一个答案,不是更好?