一、命令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. [CF46D]Parking Lot

    题目:Parking Lot 传送门:http://codeforces.com/problemset/problem/46/D 分析: 做法一: 1)这题和Hotel那题一样,也可以看做是求区间空位 ...

  2. [CSP-S模拟测试]:简单的序列(DP)

    题目描述 从前有个括号序列$s$,满足$|s|=m$.你需要统计括号序列对$(p,q)$的数量. 其中$(p,q)$满足$|p|+|s|+|q|=n$,且$p+s+q$是一个合法的括号序列. 输入格式 ...

  3. HDU2602 Bone Collector(01背包)

    HDU2602 Bone Collector 01背包模板题 #include<stdio.h> #include<math.h> #include<string.h&g ...

  4. MVC3: 页面向服务传参(view->controller,get,post)

    HttpGet HttpPost GetPost 总结比较 ajax get post 1)HttpGet Get是http请求的默认形式.拿MVC官方教程Movie项目举例如下. 编辑页面  Vie ...

  5. Python 笔试集:什么时候 i = i + 1 并不等于 i += 1?

    ​​增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此).所以我们会乐此 ...

  6. Matplotlib字体大小设置

    参考:https://blog.csdn.net/henkekao/article/details/72871882 ax = plt.subplot(111) # 设置刻度字体大小 plt.xtic ...

  7. 16/7/7_PHP-构造\解析函数

    昨天又问老师问题,老师还是强调要用博客之类记录下每天的学习的习惯. 我个人的想法是一些知识点不用笔记一下 在脑海的理解不是太深.但是老师都这么说了我老师乖乖的记录下今天的学习的一些知识.心得.技巧等等 ...

  8. 转:高效实用的.NET开源项目

    本文转自:http://www.cnblogs.com/pengze0902/p/7669631.html 似乎...很久很久没有写博客了,一直都想写两篇,但是却没有时间写.感觉最近有很多事情需要处理 ...

  9. 【SD系列】SAP SD模块-公司间销售简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-公司间销售简介   ...

  10. 应用安全-安全设备-Waf系列-软Waf-云锁

    安装 安装 - Linux 前提:检查selinux状态 - 关闭selinux getenforce #显示为disabled则为关闭 .下载 x86:wget http://download.yu ...