【Linux】init服务脚本和systemd服务管理机制的区别

区别

  1. Centos6以前用的都是init来启动服务;
    Centos7开始默认使用了systemd管理服务;

  2. init串行启动所有服务;
    systemd并行启动所有服务,充分利用多内核架构。

  3. init启动的服务分两类:独立启动模式(stand alone)超级守护进程(super daemon)
    systemd将所有服务定义为不同类型的服务单位(unit),类型有:service、socket、target、path、snapshot、timer

  4. init下管理程序使用纯脚本/etc/init.d/daemon可自定义参数;
    systemd使用systemctl命令来管理,不可自定义参数,有语法限制

  5. init没法自动启动当前服务所依赖的其他服务,必须手动处理
    systemd可以检查并启动当前所启动的服务所依赖的其他服务。

  6. init的7个运行级别,systemd中只有1、3、5有相对应的target类型。

注意

  1. 不是通过systemctl启动的服务则没法通过systemd来管理(比如我的supervisor、daphne、uwsgi等都是手动启动的,我的nginx就是靠systemctl启动的,实际上还是都靠systemctl启动比较好管理,至少一开机就可以全部自动启动)。
  2. systemd启动时没法与用户交互。
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值