参考链接:

https://blog.csdn.net/qq_16268979/article/details/114771854

本文内容为个人测试记录,具体文件目录请以读者自己电脑为准,此处只是提供参考

个人学习难免有所疏漏,如有错误请包容并指出

看新的吧

https://www.cnblogs.com/guapilsh/p/15927452.html

1.准备程序

服务:autoRun.service

[Unit]
Description=AutoStart #z自定义服务名称,可选
After=network.target [Service]
Type=simple
User=root
# 服务启动时执行的脚本,
### 使用sh命令包括其他Linux系统命令时都要使用全路径,/bin/sh等,包括.sh文件也需要使用绝对路径,才能找到。
ExecStart=/bin/sh /root/auto/start.sh
# 服务停止时执行的脚本
ExecStop=/bin/sh /root/auto/stop.sh
#Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target

服务启动脚本:start.sh, 这里选择用python做一个测试程序

#!/bin/bash
echo $! > /root/auto/autoRun.pid
python3 /root/auto/test.py

测试程序:test.py

#将当前时间输出到dd.log文件
from cmath import log
import os,time
while True:
time.sleep(1)
os.system("date >> /root/auto/dd.log ")

服务停止脚本:stop.sh

#/bin/bash
PID=$(cat /root/auto/autoRun.pid)
kill -9 $PID
rm -fr /root/auto/autoRun.pid

Demo程序和脚本准备完成

2.文件部署

将服务文件autoRun.service放到/lib/systemd/system目录下

sudo cp autoRun.service /lib/systemd/system/

将开始脚本start.sh、停止脚本stop.sh和测试程序test.py放到/root/auto/目录下

3.测试

注:为方便测试,我这里直接切换到root用户进行操作,实际操作请以个人为准(autoRun后的.service看个人喜好,可加可不加)

首先重新加载服务

systemctl daemon-reload

启动脚本(这里启动autoRrun是因为前面autoRun.service的命名)

systemctl start autoRun

查看服务状态

systemctl status autoRun

停止服务

systemctl stop autoRun

设置开机自启动

systemctl enable autoRun

4.预期结果

这里我是在云服务器+vscode-cnblog插件写的博客,图片上传没太搞明白,后续有机会补上

查询状态

root@Ubu18:~/auto# systemctl status autoRun
● autoRun.service - MicroAutoStart
Loaded: loaded (/lib/systemd/system/autoRun.service; enabled; vendor preset:
Active: active (running) since Wed 2022-01-26 01:57:53 CST; 10min ago
Main PID: 3393 (sh)
Tasks: 2 (limit: 4006)
CGroup: /system.slice/autoRun.service
├─3393 /bin/sh /root/auto/start.sh
└─3394 python3 /root/auto/test.py 1月 26 01:57:53 Ubu18 systemd[1]: Started MicroAutoStart.

检查python测试程序运行情况

root@Ubu18:~/auto# ps aux|grep test
kernoops 2173 0.0 0.0 56944 424 ? Ss 01:38 0:00 /usr/sbin/kerneloops --test
root 3394 0.0 0.2 31476 9536 ? S 01:57 0:00 python3 /root/auto/test.py
root 5304 0.0 0.0 16184 1084 pts/0 S+ 02:13 0:00 grep --color=auto test
root@Ubu18:~/auto#

查看dd.log记录:

root@Ubu18:~/auto# cat dd.log
2022年 01月 26日 星期三 02:14:27 CST
2022年 01月 26日 星期三 02:14:28 CST
2022年 01月 26日 星期三 02:14:29 CST
root@Ubu18:~/auto# ^C
root@Ubu18:~/auto# cat dd.log
2022年 01月 26日 星期三 02:14:27 CST
2022年 01月 26日 星期三 02:14:28 CST
2022年 01月 26日 星期三 02:14:29 CST
2022年 01月 26日 星期三 02:14:30 CST
2022年 01月 26日 星期三 02:14:31 CST
2022年 01月 26日 星期三 02:14:32 CST
2022年 01月 26日 星期三 02:14:33 CST
2022年 01月 26日 星期三 02:14:34 CST
2022年 01月 26日 星期三 02:14:35 CST
2022年 01月 26日 星期三 02:14:36 CST
2022年 01月 26日 星期三 02:14:37 CST
2022年 01月 26日 星期三 02:14:38 CST
2022年 01月 26日 星期三 02:14:39 CST
2022年 01月 26日 星期三 02:14:40 CST
2022年 01月 26日 星期三 02:14:41 CST
2022年 01月 26日 星期三 02:14:42 CST
2022年 01月 26日 星期三 02:14:43 CST
root@Ubu18:~/auto#

5.开机自启动服务部署成功

Ubu18开机自启动-Systemd的更多相关文章

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

    linux 服务开机自启动systemd方式 (Centos7) 1.编写一个 /opt/hello.sh 脚本 [root@jws-ftp prometheus]# cat /opt/hello.s ...

  2. Ubu18开机自启动

    Ubu开机自启动 简单示例 在/etc/init.d/目录下新建启动脚本Test #!/bin/bash ### BEGIN INIT INFO # Provides: Test # Required ...

  3. 【centos7】设置开机自启动服务--systemd

    centos7使用systemd管理开机自启动服务,不提倡rc.local. 假设现在有2个服务,分别为: my111: my222: 希望在开机时自动启动my222服务,但是my222启动需要my1 ...

  4. Centos7系统下编写systemd脚本设置redis开机自启动

    今天想设置redis开机自启动,我觉得这样子比较好,但是在网上找了很长时间发现大家都是基于chkconfig的写法来设置的,并不能由systemd进程来统一管理,所以这里我自己编写了一个,希望大家可以 ...

  5. Fedora 16设置开机自启动程序与Ubuntu的区别

    Ubuntu设置开机自启动脚本的方法是:修改/etc/init.d/rc.local这个文件,添加需要启动的程序即可,相关函数如下: void SetSysAutoBoot() { ] = {}; ; ...

  6. Fedora 22(15以上版本)开机自启动脚本

    前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开 ...

  7. nginx启动、开机自启动、重启、关闭

    yum -y  install nginx # yum info nginx Loaded plugins: fastestmirror Loading mirror speeds from cach ...

  8. Linux系统环境下Tomcat8、httpd、mysql8开机自启动配置

    Linux系统环境下Tomcat8.httpd.mysql8开机自启动配置: 相关命令:chkconfig 参考链接:https://jingyan.baidu.com/article/6525d4b ...

  9. centos7 设置nginx和php开机自启动

    nginx开机自启动 首先我是源码安装的,需要手动建立nginx.service服务文件 cd /lib/systemd/system touch nginx.service nginx.servic ...

随机推荐

  1. Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析

    Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器 ...

  2. 125_Power BI 中 DAX 的性能测试

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近在看DAX"圣经"第二版<The Definitive Guide to DAX ...

  3. 汇编语言中loop循环编程

    (1)向内存0:200~ 0:23f依次传送数据0~63(3FH) (2)同上简化后的代码,要求九行以内

  4. 【系统】查看windows系统是否永久激活

    查看windows系统是否永久激活 查看激活时间 slmgr.vbs -xpr 查看激活详情 slmgr.vbs -dlv

  5. Hibernate基础入门2

    HQL与Criteria HQL(Hibernate Query Language)-官方推荐面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写 ...

  6. ajax与python后端交互

    目录 ajax简介 前后端传输数据编码格式 ajax发送json格式数据 ajax携带文件数据 回调机制处理策略 ajax简介 ajax可以在页面不刷新的情况下可以与后端进行数据交互,异步提交,局部刷 ...

  7. Matplotlib的小入门

    Matplotlib专门用于开发2D图表(包括3D图表),在日常数据处理中经常需要运用到它,它的用法非常多样,这里记录一些基础用法,算是一个小入门,后面如果有更复杂的画图要求,再进一步学习. 如果有需 ...

  8. Code Forces 1367A Sorting Parts 题解

    (原题链接:CF传送门) 题目背景(我看不懂英文嘤嘤嘤) Sorting Parts You have an array a of length n. You can exactly once sel ...

  9. 一个 curl 配置引发的惨案

    问题 这两天想装新版本的 node,发现 nvm 一直报下面这个错误.我反复 Google 了,但是并没有找到一条我能用的. 痛苦 我起初一直怀疑是我用的 zsh-nvm 抽疯,所以今天有空就把它还有 ...

  10. Halodoc使用 Apache Hudi 构建 Lakehouse的关键经验

    Halodoc 数据工程已经从传统的数据平台 1.0 发展到使用 LakeHouse 架构的现代数据平台 2.0 的改造.在我们之前的博客中,我们提到了我们如何在 Halodoc 实施 Lakehou ...