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.开机自启动服务部署成功
Ubu18开机自启动-Systemd的更多相关文章
- linux 服务开机自启动systemd方式 (Centos7)
linux 服务开机自启动systemd方式 (Centos7) 1.编写一个 /opt/hello.sh 脚本 [root@jws-ftp prometheus]# cat /opt/hello.s ...
- Ubu18开机自启动
Ubu开机自启动 简单示例 在/etc/init.d/目录下新建启动脚本Test #!/bin/bash ### BEGIN INIT INFO # Provides: Test # Required ...
- 【centos7】设置开机自启动服务--systemd
centos7使用systemd管理开机自启动服务,不提倡rc.local. 假设现在有2个服务,分别为: my111: my222: 希望在开机时自动启动my222服务,但是my222启动需要my1 ...
- Centos7系统下编写systemd脚本设置redis开机自启动
今天想设置redis开机自启动,我觉得这样子比较好,但是在网上找了很长时间发现大家都是基于chkconfig的写法来设置的,并不能由systemd进程来统一管理,所以这里我自己编写了一个,希望大家可以 ...
- Fedora 16设置开机自启动程序与Ubuntu的区别
Ubuntu设置开机自启动脚本的方法是:修改/etc/init.d/rc.local这个文件,添加需要启动的程序即可,相关函数如下: void SetSysAutoBoot() { ] = {}; ; ...
- Fedora 22(15以上版本)开机自启动脚本
前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开 ...
- nginx启动、开机自启动、重启、关闭
yum -y install nginx # yum info nginx Loaded plugins: fastestmirror Loading mirror speeds from cach ...
- Linux系统环境下Tomcat8、httpd、mysql8开机自启动配置
Linux系统环境下Tomcat8.httpd.mysql8开机自启动配置: 相关命令:chkconfig 参考链接:https://jingyan.baidu.com/article/6525d4b ...
- centos7 设置nginx和php开机自启动
nginx开机自启动 首先我是源码安装的,需要手动建立nginx.service服务文件 cd /lib/systemd/system touch nginx.service nginx.servic ...
随机推荐
- GIL与普通互斥锁区别,死锁现象,信号量,event事件,进程池与线程池,协程
GIL与普通互斥锁区别 GIL锁和互斥锁的异同点 相同: 都是为了解决解释器中多个线程资源竞争的问题 异: 1.互斥锁是Python代码层面的锁,解决Python程序中多线程共享资源的问题(线程数据共 ...
- vue - Vue路由(扩展)
忙里偷闲,还在学校,趁机把后面的路由多出来的知识点学完 十.缓存路由组件 让不展示的路由组件保持挂载,不被销毁 在我们的前面案例有一个问题,都知道vue的路由当我们切换一个路由后,另一个路由就会被销毁 ...
- Java注解Annotaton
1.三种基本的Annotaton @Override : 限定某个方法,是重写父类方法 , 该注解只能用于方法 @Deprecated : 用于表示某个程序元素 ( 类 , 方法等 ) 已过时 @Su ...
- 455. Assign Cookies - LeetCode
Question 455. Assign Cookies Solution 题目大意:数组g的大小表示有几个小孩,每个元素表示小孩的食量,数组s的大小表示有多少个饼干,每个元素的大小表示每个饼干的大小 ...
- 一文看懂 ZooKeeper ,面试再也不用背八股(文末送PDF)
ZooKeeper知识点总结 一.ZooKeeper 的工作机制 二.ZooKeeper 中的 ZAB 协议 三.数据模型与监听器 四.ZooKeeper 的选举机制和流程 本文将以如下内容为主线讲解 ...
- linux篇-Centos7构建NFS服务器和连接
准备两台centos7虚拟机 192.168.30.133 192.168.30.129 2.192.168.30.1(服务端), 3查看rpc服务是否启动 4测试安装是否成功 5修改配置文件vi/e ...
- vue传值的几种方式
props:适用于 父组件 ==> 子组件 通信 由父组件传值子组件在props中接收即可: (由父组件给子组件传递 函数类型 的props可实现 子组件 ==> 父组件 传递数据,较为繁 ...
- 技术分享 | App常见bug解析
原文链接 功能Bug 内容显示错误 前端页面展示的内容有误. 这种错误的产生有两种可能 1.前端代码写的文案错误 2.接口返回值错误 功能错误 功能错误是在测试过程中最常见的类型之一,也就是产品的功能 ...
- 19.Tomcat多实例部署及负载均衡、动静分离
Tomcat多实例部署及负载均衡.动静分离 目录 Tomcat多实例部署及负载均衡.动静分离 Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置 tomcat 环境变量 修 ...
- SAP string 转 number 类型
try. cl_fdt_calculation=>convert_string_to_number( exporting iv_text = conv #( lwa_at ...