如果你在Linux平台上写了一段shell脚本或者某个可执行程序(例如python程序、编译好的可执行C程序),并且想让它开机自启动运行,这个教程应该可以帮得到你!
步骤:
1. 编写脚本
2. 编写服务配置文件
3. 使能服务配置文件
以Shell脚本为例
1. 加入你写了一个脚本test.sh,功能是在/home/test目录下创建了一个a.txt文件
#!/usr/sh cd /home/test touch a.txt
赋予脚本执行权限:在脚本目录下执行 chmod +x ./test.sh
2. 安装systemd:sudo apt-get install systemd 如果已经安装,请跳过
3. 编写启动服务配置文件
cd /etc/systemd/system sudo nano test.service
test.service文件的内容如下:
[Unit] Description=test [Service] ExecStart=/home/test/test.sh Restart=no Type=oneshot [Install] WantedBy=multi-user.target
上述文件的具体含义:
Unit区块的Description字段给出当前服务的简单描述,在[Unit]区块中可以添加此服务的依赖。
Service区块中ExecStart为脚本的具体路径,Restart为脚本执行结束后的处理方式,Type为脚本的运行方式。
Install为服务安装的相关配置
具体可以参考:https://www.cnblogs.com/wang-yc/p/8876155.html
https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
3. 设置服务启动,即可
sudo systemctl enable test
4. 如果有更改服务配置文件test.service,需要执行以下命令
sudo systemctl daemon-reload