linux 服务开机自启动systemd方式 (Centos7)

1、编写一个 /opt/hello.sh 脚本

[root@jws-ftp prometheus]# cat /opt/hello.sh
#!/bin/bash
while true
do
echo hello world >> /tmp/hello.log
sleep 10
done
[root@jws-ftp prometheus]#

赋予执行权限

[root@jws-ftp prometheus]# chmod 0755 /opt/hello.sh
[root@jws-ftp prometheus]#
[root@jws-ftp prometheus]# ll /opt/hello.sh
-rwxr-xr-x. 1 root root 85 3月 1 14:04 /opt/hello.sh
[root@jws-ftp prometheus]#

2、在/etc/systemd/system/ 下创建Unit定义文件

[root@jws-ftp prometheus]# cat /etc/systemd/system/hello.service
[Unit]
Description = hello [Service]
ExecStart = /bin/bash /opt/hello.sh
Restart = always
Type = simple [Install]
WantedBy = multi-user.target
[root@jws-ftp prometheus]#

ExecStart中填写想要执行的脚本

Restart = always 是指进程或服务意外故障的时候可以自动重启的模式。

※Unit文件的详细写法会另外给出。

(Type = simple 指默认的选项没有必要填写,或可理解成其余选项均为系统默认)

3、把Unit添加进Service

使用systemctl list-unit-files --type=service命令查看,出现如下图所示即为正常。

[root@jws-ftp prometheus]# systemctl list-unit-files --type=service | grep hello
hello.service disabled
[root@jws-ftp prometheus]#

4、enable服务后使之start

之后系统将以一般服务的形式处理它

# 开机自启动on
[root@jws-ftp prometheus]# systemctl enable hello # 立即启动
[root@jws-ftp prometheus]# systemctl start hello

运行状态确认

[root@jws-ftp prometheus]# systemctl status hello
● hello.service - hello
Loaded: loaded (/etc/systemd/system/hello.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2021-03-01 14:12:08 CST; 11min ago
Main PID: 38133 (bash)
CGroup: /system.slice/hello.service
├─38133 /bin/bash /opt/hello.sh
└─38272 sleep 10 3月 01 14:12:08 jws-ftp systemd[1]: Started hello.
3月 01 14:12:08 jws-ftp systemd[1]: Starting hello...
[root@jws-ftp prometheus]#

打开日志文件看看脚本是否正常运作

[root@jws-ftp prometheus]# tailf /tmp/hello.log
hello world
hello world
hello world
hello world

5、重启机器,查看服务是否正常自动启动

[root@jws-ftp prometheus]# reboot

重启后,如正常显示hello服务即为操作成功

Systemd的使用指南

https://www.jianshu.com/p/7fd8b6ea336e

spring-boot 项目可以配合 启动脚本进行使用

https://my.oschina.net/zhongwenhao/blog/3064313

linux 服务开机自启动systemd方式 (Centos7)的更多相关文章

  1. linux服务开机自启动&注册系统服务

    首先先看下linux系统开机启动顺序,如下图 对,要解决Linux CentOS 和 Red Hat Linux 系统中设置服务自启动有两种方式,就是从图中圈出的两个步骤下手. 一.修改 /etc/r ...

  2. linux -- 服务开机自启动

    好吧,最近需要用到开机启动服务,百度了一下,几乎都是一个版本,然后之间各种传递.我也抄个 ******************************************************* ...

  3. Linux服务开机自启动设置

    Linux中也有类似于Window中的开机自启动服务,主要是通过chkconfig命令来设置.它主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服 ...

  4. Linux服务开机自启动使用示例

    本文以redis服务为例,介绍了两种服务自启动的方法service,systemctl使用示例 1.修改redis.conf,允许后台运行 daemonize no 改为 daemonize yes ...

  5. Linux(centos7)设置docker服务开机自启动以及容器自启动

    docker服务开机自启动 systemctl enable docker 设置容器自启动 可以在运行的时候通过设置--restart 参数 docker run --restart always - ...

  6. Linux 服务管理两种方式service和systemctl

    Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 ...

  7. linux 添加开机自启动脚本

    原文 Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法. 1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚 ...

  8. 如何把一个c语言程序做成windows服务开机自启动

    原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后 ...

  9. 红帽linux系统开机自启动脚本。

    其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...

随机推荐

  1. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos7.8-15

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos7.8-15 欢迎加QQ群:1026880196 进行交流学习   制作OpenS ...

  2. 11. Grub 介绍

    Grub 全称:Grand Unified Bootloader grub引导也分为两个阶段stage1阶段和stage2阶段(有些较新的grub又定义了stage1.5阶段). 一般配置文件:/bo ...

  3. Salesforce学习之路(一)几个简单概念

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  4. Neo4j/cypher学习笔记与学习建议

    简介 本笔记的主要内容是 cypher 查询语言的编写与使用. 笔记主要整理自w3cschool上的neo4j教程以及Neo4j中文网所提供的cypher中文文档,此外还包括少量从其他个人博客与官方手 ...

  5. Day17_105_IO_BufferWriter带缓冲区的字符输出流

    BufferWriter带缓冲区的字符输出流 * OutputStreamWriter(); 转换流,可以将文件字节输出流转换为文件字符输出流 * 代码: import java.io.*; publ ...

  6. 使用Power BI构建数据仓库与BI方案

    杀手级特性 今年Power BI的几大杀手级特性的GA,可以让其构建完整的数据仓库/数据湖和BI分析一站式方案. Power BI Premium Per User-超低的价格 Large datas ...

  7. F - Lakes in Berland(BFS)

    The map of Berland is a rectangle of the size n × m, which consists of cells of size 1 × 1. Each cel ...

  8. hdu1722 切蛋糕

    题意:CakeTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  9. Java中常见的包

    目录 JDK自带的包 第三方包 JDK自带的包 JAVA提供了强大的应用程序接口,既JAVA类库.他包含大量已经设计好的工具类,帮助程序员进行字符串处理.绘图.数学计算和网络应用等方面的工作.下面简单 ...

  10. Win64 驱动内核编程-24.64位驱动里内嵌汇编

    64位驱动里内嵌汇编 讲道理64位驱动是不能直接内链汇编的,遇到这种问题,可以考虑直接把机器码拷贝到内存里,然后直接执行. 获得机器码的方式,可以写好代码之后,直接通过vs看反汇编,然后根据地址在看内 ...