应该使用“invoke-rc.d”还是“service”来重启服务?

ber*_*nie 13 linux debian init-script linux-mint services

我对哪种情况最好以及在哪种情况下感到困惑:

invoke-rc.d apache2 restart
Run Code Online (Sandbox Code Playgroud)

或者

service apache2 restart
Run Code Online (Sandbox Code Playgroud)

有真正的区别吗?

man service 有以下有趣的一点:

service 在尽可能可预测的环境中运行 System V init 脚本,删除大多数环境变量并将当前工作目录设置为 /。

我主要对 Debian 感兴趣,但也对 Mint(也基于 Debian)感兴趣。

hel*_*ylo 12

守护进程上的官方 Debian wiki 页面说要使用service

# service ssh restart
Restarting OpenBSD Secure Shell server: sshd.
Run Code Online (Sandbox Code Playgroud)

然而serviceinvoke-rc.d在功能上和大多数情况下是等效的:

  • invoke-rc.d 根据命令的手册页,是软件包维护者脚本的首选命令
  • service有一个独特的--status-all选项,用于查询所有可用守护进程的状态

似乎service是面向用户的命令,而invoke-rc.d有其他用途。