zoukankan      html  css  js  c++  java
  • CentOS7自定义系统服务示例

     CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.

    CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install] 

    [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别
    [Service]部分是服务的关键,是服务的一些具体运行参数的设置.
    Type=forking是后台运行的形式,
    User=users是设置服务运行的用户,
    Group=users是设置服务运行的用户组,
    PIDFile为存放PID的文件路径,
    ExecStart为服务的具体运行命令,
    ExecReload为重启命令,
    ExecStop为停止命令,
    PrivateTmp=True表示给服务分配独立的临时空间
    注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
    [Install]部分是服务安装的相关设置,可设置为多用户的
    

    首先,使用systemctl start  [ 服务名(也是文件名) ] 可测试服务是否可以成功运行,如果不能运行则可以使用systemctl status [ 服务名(也是文件名) ]查看错误信息和其他服务信息,然后根据报错进行修改,直到可以start,如果不放心还可以测试restart和stop命令。

    接着,只要使用systemctl enable xxxxx就可以将所编写的服务添加至开机启动即可。

    实例:服务用于开机运行tomcat项目:

    #vim /usr/lib/systemd/system/tomcat.service
     
    [Unit]
    Description=java tomcat project
    After=tomcat.service
      
    [Service]
    Type=forking
    User=users
    Group=users
    PIDFile=/usr/local/tomcat/tomcat.pid
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecReload=
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    PrivateTmp=true
      
    [Install]
    WantedBy=multi-user.target
    

    添加可执行权限:

    chmod 754 /usr/lib/systemd/system/tomcat.service
    设置为开机自启动:
    #systemctl enable tomcat.service

    常用指令(以tomcat服务为例):

    启动某服务
    systemctl start   tomcat.service
     
    停止某服务
    systemctl stop   tomcat.service
     
    重启某服务
    service tomcat   restart
    systemctl restart   tomcat.service
     
    使某服务自动启动(如tomcat服务)
    systemctl enable   tomcat.service
     
    使某服务不自动启动
    systemctl disable   tomcat.service
     
    检查服务状态
    systemctl   status tomcat.service (服务详细信息)
    systemctl   is-active tomcat.service(仅显示是否Active)
     
    显示所有已启动的服务
    systemctl   list-units --type=service
    
     
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/colinliu/p/systemctl_demo.html
Copyright © 2011-2022 走看看