zoukankan      html  css  js  c++  java
  • Centos7 systemctl服务脚本

    systemd.service 参考文档

    RHEL6和之前的版本使用的初始进程是init,init是一个线性的启动过程,一个接一个的启动,比较慢;systemd则可以多进程启动,速度提高很多。

      sevice:服务后台进程

      target:此类配置单元为其他配置单元进行逻辑分组。3级多用户模式->multi-user.target,5级图形化模式->graphical.target

    自定义服务

      每个服务可以在/usr/lib/systemd/system下添加一个以.service结尾的文件

    vim /usr/lib/systemd/system/zabbix_agentd.service 
    # 添加以服务为名的service文件
    [Unit]
    Desciption=zabbix_agentd - zabbix monitor client
    After=network.target
    # 在network启动后再启动
    #Before=xxx
    # After Before不存在依赖关系,只是启动顺序
    
    [Service]
    User=zabbix
    Group=zabbix
    Type=forking
    # 此服务以forking模式运行
    PIDFile=/tmp/zabbix_agentd.pid
    # PID文件存放位置
    ExecStartPre=/usr/bin/rm -f /tmp/zabbix_agentd.pid
    # 启动前删除PID文件
    ExecStart=/usr/local/zabbix_agent-3.4.15/sbin/zabbix_agentd
    # 启动命令
    ExecReload=/bin/kill -s HUP $MAINPID
    # 重载执行命令
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    # 停止超时时间,如果不能在指定时间内停止,将通过SIGKILL强制终止
    KillMode=mixed
    # systemd停止服务的方式
    Restart=on-failure
    # 服务不正常退出后重启
    #PrivateTmp=true
    # 表示给服务分配独立的临时空间
    
    [Install]
    WantedBy=multi-user.target
    # 多用户模式
    

    配置字段Type

      simple(默认):# 以ExecStart字段启动的进程为主进程

      forking:  # ExecStart字段以fork()方式启动,启动完成父进程将退出,子进程作为主服务进程持续运行,可以设置PIDFile,以便systemd可靠地识别主服务进程。

      oneshot:  # 类似于simple,但只执行一次,systemd会等它执行完,才启动其他服务

      dbus: # 类似于simple, 但会等待D-Bus信号后启动

      notify:   # 类似于simple, 启动结束后会发出通知信号,然后systemd再启动其他服务

      idle:    # 类似于simple,但是要等到其他任务都执行完,才会启动该服务。

    KillMode:

      control-group:当前控制组里的所有子进程,都会被杀掉,默认

      process:只有主进程被终止

      mixed:SIGTERM信号被发送给主进程,SIGKILL信号被发送给子进程

      none:没有进程会被杀掉,只是执行服务的stop命令

    Restart:

      no:服务不会重启,默认

      on-success:服务正常退出时重启

      on-failure:服务非正常退出时重启

      on-watchdog:超时退出时重启

      always:无论正常或非正常退出都将重启

    ExecStart:启动服务执行的命令及参数

    ExecStartPre:启动服务前执行的其他命令

    ExecStartPost:服务启动后执行的其他命令

    ExecStop:停止服务执行的命令及参数

    ExecStopPre:停止服务前执行的其他命令

    ExecStopPost:服务停止后执行的其他命令

  • 相关阅读:
    javaweb 安全传输签名机制
    GC详解及Minor GC和Full GC触发条件总结
    程序员的人性思考(上)
    LeetCode 845——数组中的最长山脉
    LeetCode 386——字典序的第 K 小数字
    LeetCode 386——字典序排数
    LeetCode 135——分发糖果
    Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
    在 Ubuntu 下安装 Deepin 的 QQ、微信、百度云和迅雷等软件
    腾讯 2019 春季暑期实习生提前批笔试——技术研究与数据分析
  • 原文地址:https://www.cnblogs.com/houyongchong/p/10167860.html
Copyright © 2011-2022 走看看