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. [解决] Assertion `srcIndex < srcSelectDimSize` failed.

    在finetune Chinese GPT2的时候遇到如上错误,错误原因index越界,原始代码中给定的输入长度是1024,但是我使用模型可接受的输入长度是512,把输入长度都改为512,错误解决

  2. Seata搭建与分布式事务入门

    在单体架构下,我们大多使用的是单体数据库,通过数据库的ACID特性支持,实现了本地事务.但是在微服务架构下复杂的业务关系中,分布式事务是不可避免的问题之一.Seata是Spring Cloud Ali ...

  3. 前端数据渲染及mustache模板引擎的简单实现

    早期数据渲染的几种方式 在模板引擎没有诞生之前,为了用JS把数据渲染到页面上,诞生了一系列数据渲染的方式. 最最基础的,莫过于直接使用DOM接口创建所有节点. <div id="roo ...

  4. 某大佬的TODOLIST

    回文串 manacher(完成时间:2018.12.10)回文串计数最长双回文串(完成时间:2018.12.10) 扫描线 棋盘制作巨大的牛棚玉蟾宫某个blog 汉诺塔相关 新汉诺塔SHOI 博弈论 ...

  5. 13- jmeter性能测试案例

    配置原件 HTTP请求默认值 前置处理程序 定时器 取样器 后置处理器:正则表达式提取器 断言 监听器 性能测试流程 1.评估获取性能测试需求(访问量大,操作频繁) 2.确定性能测试目标 : 并发用户 ...

  6. 网络广告计费方式CPM、CPA、CPS、CPT、CPC及比较分析

    网络上的广告计费方式,主要有以下几种: 按展现付费(CPM).每展现一千次,收费多少. 按点击付费(CPC).每带来一个点击收多少钱. 按时间付费(CPT).每放一天或者几个小时,收费多少. 按效果付 ...

  7. 使用SSH端口做端口转发以及反向隧道

    目录 SSH做本地端口转发 SSH做反向隧道(远程端口转发) 用autossh建立稳定隧道 SSH开启端口转发需要修改 /etc/ssh/sshd_config配置文件,将 GatewayPorts修 ...

  8. 手动添加导入表修改EXE功能

    目标: 改动PE导入表,手工给HelloWorld增加一个功能,就是启动的时候写入一条开机启动项,C:\cmd0000000000000000000000000000.exe 实现方法: 直接在注册相 ...

  9. Intel汇编程序设计-整数算术指令(上)

    第七章 整数算术指令 7.1 简介 每种汇编语言都有进行操作数移位的指令,移位和循环移位指令在控制硬件设备.加密数据,以及实现高速的图形操作时特别有用.本章讲述如何进行移位和循环移位操作以及如何使用移 ...

  10. Portswigger web security academy:Cross-site request forgery (CSRF)

    Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...