私は常にこの方法で私の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のようなOSを使用している場合は、サービスコマンドのみを使用できます。
したがって、systemctlが使用可能な場合は、それを使用する方が良いでしょう
この答え から借りると:
service
は、start
、restart,
stop
およびstatus
サービスで使用される「高レベル」コマンドですnixesおよびLinuxes。 「下位レベル」のサービスマネージャーに応じて、サービスは異なるバイナリにリダイレクトされます。たとえば、CentOS 7ではsystemctlにリダイレクトしますが、CentOS 6では相対
/etc/init.d
スクリプトを直接呼び出します。一方、古いUbuntuリリースでは、upstartにリダイレクトされます。
service
は基本的なサービス管理に適していますが、直接systemctl
を呼び出すと、より多くの制御オプションが提供されます。
そしてsystemctl
このディレクトリからサービスファイルを実行します:/lib/systemd