ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ubu18开机自启动-Systemd

2022-01-26 02:31:13  阅读:199  来源: 互联网

标签:02 Systemd 01 26 Ubu18 2022 自启动 CST root


Ubu18开机自启动服务-Systemd

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

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

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.开机自启动服务部署成功

标签:02,Systemd,01,26,Ubu18,2022,自启动,CST,root
来源: https://www.cnblogs.com/guapilsh/p/15845279.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有