座右铭:怎么简单怎么来,以实现功能为主。
欢迎大家关注公众号与我交流
首先先编辑好要开机自启的 sh文件,并赋予可执行权限
# 假如已经写好 sh文件 放在了 /home/xxx/test.sh
sudo chmod +x /home/xxx/test.sh # 赋予可执行权限
创建一个新的 .service 文件
sudo vim /lib/systemd/system/test.service # 把下面的内容放到 test.service 里面
[Unit]
Description=test # 可自定义
Requires=network-online.target # 若需要联网后启动的话,则需要加入该参数
After=network-online.target # 若需要联网后启动的话,则需要加入该参数
[Service]
Type=forking
Restart=always
RestartSec=1
ExecStart=/bin/sh /home/xxx/test.sh # 这里写 test.sh 文件的 绝对地址
[Install]
WantedBy=multi-user.target
重新加载服务
sudo systemctl daemon-reload # 重新加载服务
设置开机自启
sudo systemctl enable test.service # 设置开机启动
查看启动状态
systemctl status ess_auto_start.service # 查看启动状态
服务状态
inactive # 服务关闭
disable # 服务开机不启动
enabled # 服务开机启动
static # 服务开机启动项被管理
failed # 服务配置错误
其他相关命令
systemctl start 服务名 # 开启服务
systemctl stop 服务名 # 关闭服务
systemctl status 服务名 # 服务状态
systemctl restart 服务名 # 重启服务
systemctl enable 服务名 # 开机启动服务
systemctl disable 服务名 # 禁止开机启动服务
systemctl list-units # 查看系统中所有正在运行的服务
systemctl list-unit-files # 查看系统中所有服务的开机启动状态
systemctl list-dependencies 服务名 # 查看系统中服务的依赖关系
systemctl mask 服务名 # 冻结服务心
systemctl unmask 服务名 # 解冻服务
systemctl set-default multi-user.target # 开机时不启动图形界面
systemctl set-default graphical.targete # 开机时启动图形界面