Linux 使用init.d脚本启动命令和服务启动之间的区别

Linux 使用init.d脚本启动命令和服务启动之间的区别,linux,shell,command,Linux,Shell,Command,我需要了解使用init.d脚本启动命令和服务启动之间的区别 例如,它们之间的区别是什么 /etc/init.d/nginx start和服务nginx start除了服务在受控环境中运行脚本外,它们执行相同的操作。从: 描述 服务在可预测的环境中运行SystemV初始化脚本 尽可能删除大多数环境变量并使用当前 工作目录设置为/ 环境 LANG,TERM 传递给init脚本的唯一环境变量 此外: 事实不赞成直接调用/etc/init.d/*脚本,因为: 在最新的Debian/Ubuntu发行版(及

我需要了解使用
init.d
脚本启动命令和
服务启动
之间的区别

例如,它们之间的区别是什么


/etc/init.d/nginx start
服务nginx start
除了
服务
在受控环境中运行脚本外,它们执行相同的操作。从:

描述 服务在可预测的环境中运行SystemV初始化脚本 尽可能删除大多数环境变量并使用当前 工作目录设置为
/

环境
LANG
TERM

传递给init脚本的唯一环境变量


此外:

事实不赞成直接调用/etc/init.d/*脚本,因为:

在最新的Debian/Ubuntu发行版(及其派生版)上,sysvinit(默认的init系统)已被upstart或systemd取代。因此,如果使用USStart作业或systemd单元配置文件管理其中一个服务,则调用/etc/init.d/*将是NOOP,因为脚本将在没有进一步信息的情况下退出

相反,用户必须使用
服务
命令来启动/停止/重新启动服务。
service
命令是一个包装器,它将在尽可能可预测的环境中调用正确的脚本,无论init系统在使用什么(sysinit、upstart或systemd)