Ubu18开机自启动-Systemd
参考链接:
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.开机自启动服务部署成功
转载请标明,谢谢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构