Linux自启动脚本 systemctl

1.编写好脚本

#!/bin/bash
/home/china/Linux/code/a.out

2. 创建 Systemd 服务文件

sudo gedit /etc/systemd/system/my_script.service

3.编写服务配置

将以下内容写入文件(根据需求修改字段):

[Unit]
Description=My Custom Shell Script lpy   # 服务描述
After=network.target                # 在网络服务启动后运行

[Service]
Type=simple
ExecStart=/home/china/Linux/code/test.sh   # 你的脚本绝对路径
Restart=on-failure                   # 失败时自动重启(可选)

[Install]
WantedBy=multi-user.target           # 指定启动目标

4. 赋予脚本执行权限

chmod +x /home/china/Linux/code/test.sh 

5. 重新加载 systemd 配置

让 systemd 识别新服务:

sudo systemctl daemon-reload

5. 启用开机自启动

sudo systemctl enable my_script.service

问题:Failed to enable unit: Invalid argument
解决:注释记得删掉

6. 启动服务(可选)

sudo systemctl start my_script.service

7. 验证服务状态

systemctl status my_script.service

如果显示 active (running) 且无错误,则配置成功。

如果失败,用 journalctl -u my_script.service 查看详细日志。
如果是一次性:nactive (dead)。这是符合预期的行为,因为你的脚本 test.sh 是一次性任务,执行后立即结束。以下是详细分析和解决方案:

你可能感兴趣的:(linux,运维,服务器)