Centos7的服务systemctl脚本存放在: /usr/lib/systemd/

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

Centos7的每一个服务以.service结尾,一般会分为3部分:【Unit】【Service】 【Install】

【Unit】部分主要是对这个服务的说明。

  • 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就可以将所编写的服务添加至开机启动即可。

  

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

#vim /usr/lib/systemd/system/frpc.service

[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target [Service]
Type=simple
PIDFile=
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini
ExecStop=
ExecReload=
Restart= always
RestartSec=1min
PrivateTmp=True [Install]
WantedBy=multi-user.target

添加可执行权限:

chmod 754 /usr/lib/systemd/system/frpc.service

设置为开机自启动:

#systemctl enable tomcat.service

  

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

启动某服务
systemctl start frpc.service 停止某服务
systemctl stop frpc.service 重启某服务
service frpc restart
systemctl restart frpc.service 使某服务自动启动(如frpc服务)
systemctl enable frpc.service 使某服务不自动启动
systemctl disable frpc.service 检查服务状态
systemctl status frpc.service (服务详细信息)
systemctl is-active frpc.service(仅显示是否Active) 显示所有已启动的服务
systemctl list-units --type=service

  

Centos7 systemctl添加自定义系统开机服务的更多相关文章

  1. 2. whoami,常用包,调优selinux,七种启动模式,系统开机服务

    1   whoami  查看当前登录用户      useradd zhang   增加用户      passwd  zhang       su - zhang     切换用户        e ...

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

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

  3. Centos7上添加自定义服务文件并开机启动

    Ⅰ-1 写服务文件 [Unit]   ##服务的说明Description:描述服务After:描述服务类别 [Service]   ##服务运行参数的设置Type=forking是后台运行的形式Ex ...

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

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

  5. SpringBoot 在CentOS7部署,注册为服务,开机启动

    1.首先在maven工程的pom文件中引入以下标签并保存 <build> <plugins> <plugin> <groupId>org.springf ...

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

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

  7. CentOS7.6下设置mysql服务开机启动

    在centos7中所有对服务的管理都集中到了systemctl当中,所以服务的启动.关闭.重启.开机启动等等的操作都可以用systemctl. systemctl对服务的管理都是通过配置文件,配置文件 ...

  8. 对于应用需要记录某个方法耗时的场景,必须使用clock_gettime传入CLOCK_MONOTONIC参数,该参数获得的是自系统开机起单调递增的纳秒级别精度时钟,相比gettimeofday精度提高不少,并且不受NTP等外部服务影响,能准确更准确来统计耗时(java中对应的是System.nanoTime),也就是说所有使用gettimeofday来统计耗时(java中是System.curre

    对于应用需要记录某个方法耗时的场景,必须使用clock_gettime传入CLOCK_MONOTONIC参数,该参数获得的是自系统开机起单调递增的纳秒级别精度时钟,相比gettimeofday精度提高 ...

  9. Centos7禁止或者允许开机启动服务

    [root@bogon rsyslog.d]# systemctl is-enabled httpd disabled [root@bogon rsyslog.d]# systemctl status ...

随机推荐

  1. Flutter仿掘金点赞效果

    老孟导读:今天分享一下如何实现掘金点赞效果,这不仅仅是一篇技术文章,还是一篇解决问题思路的文章,遇到一个需求时,如何拆分需求,然后一步一步实现,这个过程比单纯的技术(此文)更有含金量. 先来看一下掘金 ...

  2. 201771010128王玉兰《面向对象程序设计(Java)第十四周学习总结》

    第一部分:理论知识总结: (1)Swing 设计模式(Design pattern)是设计者一种流行的 思考设计问题的方法,是一套被反复使用,多数人 知晓的,经过分类编目的,代码设计经验的总结. 使用 ...

  3. 一、环境的安装Dev-C++

    1.https://sourceforge.net/projects/orwelldevcpp/?source=directory 2. 3. 4. 5.看到下面页面表示安装已完成啦

  4. Python小技巧:如何批量更新已安装的库?

    众所周知,升级某个库(假设为 xxx),可以用pip install --upgrade xxx 命令,或者简写成pip install -U xxx . 如果有多个库,可以依次写在 xxx 后面,以 ...

  5. 解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)

    一.问题 有时候我们登录Mysql输入密码的时候,会出现这种情况 mysql -u root -p Enter Password > '密码' 错误:ERROR 1045 (28000): Ac ...

  6. Yii2.0 URL美化功能Nginx与Apache配置文件

    NGinx: location / { index index.html index.htm index.php; try_files $uri $uri/ /index.php$is_args$ar ...

  7. h5 编辑单选框的样式

    radio单选框样式设置 input[type=radio] { display: inline-block; vertical-align: middle; width: 20px; height: ...

  8. 对 eval 命令的理解

    eval 格式:eval [argument...] 可以二次迭代参数中的引用变量,然后将参数作为命令,在shell中执行 如果是多个参数,那么变量替换之后必须符合某个命令的格式,否则eval会报错& ...

  9. & vue项目中的rem适配

    有个朋友问我在vue项目怎么做rem适配,我工作中都是用的dva,但是我感觉道理都是一样的,换汤不换药.配完就顺手写下来吧! 需要安装两个插件库 lib-flexible和px2rem-loader ...

  10. sqlmap中文手册

    Sqlmap中文手册  -Darren制作 零.前言 Sqlmap是十分著名的.自动化的SQL注入工具.为了较为系统地学习Sqlmap,我决定翻译一遍Sqlmap的用户手册,于是便有了此文.由于我英语 ...