linux服务开机自启-向日葵开机自启
因为项目需要,需要将向日库配置为开机自启,避免因外界原因导致设备失联
systemd是一个linux系统的服务管理器,可以实现对各类服务的启停管理。
常用指令
systemctl enable:启用服务,将服务设置为开机自启
systemctl start:启动服务,立即运行服务
systemctl stop:停止服务,立即停止服务
systemctl disable:禁用服务,将服务设置为开机不自启。
使用实例
以向日葵为例,将其设置为开机自启
创建服务
首先创建服务配置文件,文件后缀service,我这里设置为sunflower.service
touch sunflower.service
编辑服务
[Unit]
Description=Sunflower Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/sunlogin/bin/sunloginclient
[Install]
WantedBy=multi-user.target
服务指令解释
[Unit]
部分
描述服务的基本信息及依赖。
Description=Sunflower Service
- 服务的简短描述,表示此服务是 “Sunflower Service”。
After=network.target
- 表示此服务将在网络连接之后启动。
[Service]
部分
定义服务具体行为和配置。
Type=simple
- 指定服务类型为
simple
,systemd 服务的默认类型。
- 指定服务类型为
ExecStart=/usr/local/sunlogin/bin/sunloginclient
- 启动服务的主进程:
/usr/local/sunlogin/bin/sunloginclient
是执行的程序。
- 启动服务的主进程:
Restart=always
- 指定服务在退出后总是重启,无论是因为故障还是正常退出。
RestartSec=5s
- 服务重启的间隔时间为 5 秒。
[Install]
部分
定义服务安装时的目标。
WantedBy=multi-user.target
- 指定服务安装后属于
multi-user.target
,即服务将在系统进入多用户模式时启用。
- 指定服务安装后属于
复制服务
将编辑的服务复制到/etc/systemd/system/目录下
cp sunflower.service /etc/systemd/system/
启用服务
将服务设置为开机自启
sudo systemctl enable sunflower.service
启动服务
手动启动服务立即执行
sudo systemctl sunflower.service