一、命令systemctl介绍

CentOS 7.0中已经没有service命令,而是启用了systemctl服务器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

命令对比

常用命令

  • 开启开机启动

    systemctl enable gateway-api

  • 禁止开机启动

    systemctl disable gateway-api

  • 查看服务状态

    systemctl status -n 100 gateway-api

  • 启动服务

    systemctl start gateway-api

  • 重启服务

    systemctl restart gateway-api

  • 重载服务

    systemctl restart gateway-api

  • 停止服务

    systemctl stop gateway-api

  • 重新加载配置文件

    sudo systemctl daemon-reload

常用命令

  • 查看系统服务日志

    journalctl -fa -u serviceName or journalctl -f -u serviceName -o cat
  • 查看日志占有磁盘空间

    journalctl --disk-usage
  • 配置别名
vi /etc/bashrc
alias jlog='journalctl -fa -u'
source /etc/bashrc

二、自定义配置系统服务

centos7系统的配置目录:/etc/systemd/system 或者 /usr/lib/systemd/system

将写好的配置文件放到系统的配置目录,并754赋权限即可使用systemctl管理服务啦。

  • 系统基本service服务配置目录

    /etc/systemd/system

    此目录勿动,一般情况下只放系统核心基础服务配置,否存放应用注册类服务配置。

  • 自定义服务配置管理目录

    /usr/lib/systemd/system

    存放自定义应用注册类服务和第三方服务类配置。

创建一个配置文件

以服务的名称命名,例如:gateway-api.service

编写配置文件

[Unit]
Description=gateway-api
#在哪些服务之后启动(After和Before字段只涉及启动顺序,不涉及依赖关系)
#After=rc-local.service
#在哪些服务之前启动(After和Before字段只涉及启动顺序,不涉及依赖关系)
#Before= #存在"弱依赖"关系,依赖的服务或者服务组启动失败或停止运行,不影响当前服务继续执行。
#Wants=
#表示"强依赖"关系,即如果该服务或者服务组启动失败或异常退出,那么当前服务也必须退出。
#Requires= [Service]
#启动类型,具体见:Type字段定义启动类型
Type=forking
#指定pid文件,可以不指定(缺省)
PIDFile=/var/run/gateway-api.pid #自定义服务的运行环境变量
#EnvironmentFile约定位置格式:/usr/lib/systemd/system/gateway-api.service.d/environment.conf
EnvironmentFile=/opt/apps/comm.env
EnvironmentFile=/opt/apps/gateway-api.env
Environment=spring_profiles_active=test
Environment=spring_cloud_bootstrap_name=bootstrap,common-bootstrap #服务启动,重启,重载,停止
ExecStart=-/opt/apps/jdk1.8/bin/java -jar /opt/apps/gateway-api-0.0.1-SNAPSHOT.jar
#服务重启(缺省)
#ExecRestart=
Restart=on-failure
RestartSec=1s
#重新加载(缺省)
#ExecReload=
#停止服务(缺省)
#ExecStop= #启动服务之前执行的命令
ExecStartPre=echo 开始启动服务:gateway-api
#启动服务之后执行的命令
ExecStartPost=echo 服务gateway-api启动完毕
#停止服务之后执行的命令
ExecStopPost=服务gateway-api已停止 #是否分配独立的临时空间(缺省)
#PrivateTmp=True #打开文件描述符数量
LimitNOFILE=40000 [Install]
#表示该服务所在的,Target的含义是服务组,表示一组服务
WantedBy=multi-user.target

注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错;

Type字段定义启动类型

  • simple(默认值):ExecStart字段启动的进程为主进程
  • forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
  • oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
  • dbus:类似于simple,但会等待 D-Bus 信号后启动
  • notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
  • idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合

CentOS7 利用systemctl添加自定义系统服务的更多相关文章

  1. CentOS7利用systemctl添加自定义系统服务【转】

    systemctl enable name.service 设置开机启 systemctl disable name.service 删除开机启动指令 systemctl list-units --t ...

  2. [转]CentOS7利用systemctl添加自定义系统服务

    原文:https://www.cnblogs.com/saneri/p/7778756.html CentOS7自定义系统服务 CentOS7的服务systemctl脚本存放在:/usr/lib/sy ...

  3. CentOS7利用systemctl添加自定义系统服务

    CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install] 转载于互联网 [Unit] 部分主要是对这个服务的说明,内容包括Descrip ...

  4. 在CentOS 7上利用systemctl添加自定义系统服务 /usr/lib/systemd/

    在CentOS 7上利用systemctl添加自定义系统服务[日期:2014-07-21] 来源:blog.csdn.net/yuanguozhengjust 作者:yuanguozhengjust ...

  5. CentOS 7上利用systemctl添加自定义系统服务

    Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方 ...

  6. 在CentOS 7上利用systemctl添加自定义系统服务

    每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install],具体内容如下: [Unit]Description=*****After=network.ta ...

  7. CentOS7使用systemctl添加自定义服务

    一.简介 Centos7开机第一个程序从init完全换成了systemd这种启动方式,同centos 5 6已经是实质差别.systemd是靠管理unit的方式来控制开机服务,开机级别等功能. 在/u ...

  8. systemctl添加自定义系统服务

    [Service] Type=forking ExecStart=绝对路径 ExecStop=绝对路径 ExecReload=绝对路径 以上最精简版,文件/usr/lib/systemd/system ...

  9. CentOS7利用systemctl添加dotnet后台服务

    /usr/lib/systemd/system/zl.service systemctl enable zl.service systemctl start zl.service [Unit]Desc ...

随机推荐

  1. canvas万花筒案例

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Ti ...

  2. sshd使用

    sshd服务 1.sshd介绍     sshd为secure shell的简称:可以通过网络在主机中开机shell的服务 连接方式(在客户端):ssh username@ip  #文本模式      ...

  3. 【洛谷P4445 【AHOI2018初中组】报名签到】

    题目描述 n 位同学(编号从1 到n)同时来到体育馆报名签到,领取准考证和参赛资料.为了有序报名,这n 位同学需要按编号次序(编号为1 的同学站在最前面)从前往后排成一条直线.然而每一位同学都不喜欢拥 ...

  4. 如何让ls按目录和文件 分开进行列表?

    linux的思想是: 有很多 "小工具", 但是功能并不弱的 小工具, 组合起来完成一些复杂的工作, 通过 这些工具的组合可以完成各种各样的, 不同的任务. 如: ls, sort, hea ...

  5. CSS - 层叠上下文(The stacking context)

    对 MDN 的上的例子的拓展 Root - DIV #1(z-index: 5) - DIV #2(z-index: 2) - DIV #3(z-index: 4) - DIV #4(z-index: ...

  6. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_9_练习:按指定格式拼接字符

    数组再加一个值

  7. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第7节 Arrays工具类_16_数组工具类Array

    在java.util的包下面.在这个包的下面是需要导包的,只有lang 的包下面是不需要导包的 查看jdk1.6的手册 Arrays让我们想起了数组,说明它提供了与数组相关的方法 我们可以看到 toS ...

  8. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_12_练习_文件复制

    谁用字节可以读取任何文件. 读取后再写入到D盘去.这就是一个文件的复制. 怎么由C盘到D盘.这里要借助流技术 需要创建两个流,一个读取一个写入 图片复制过来了. 看一下图片的字节数.whilte循环要 ...

  9. 剑指offer--day09

    1.1 题目:栈的压入.弹出序列:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列 ...

  10. (转)http://blog.chinaunix.net/uid-8363656-id-2031644.html CGI 编写

    第一章:基础的基础 回CGI教程目录 1.1 为什么使用CGI?   我没有把什么是CGI放在基础篇的第一段,是因为实在很难说明白到底什么是CGI.而如果你先知道CGI有什么作用,将会很好的理解CGI ...