ubuntu默认使用非root账号登录,如果要实现root账户开机自启动指定脚本,可以采用service的方式实现。
1、创建服务文件
sudo vim /etc/systemd/system/your-service-name.service
内容为:
[Unit] Description=你的服务描述 After=network.target # 确保在网络服务启动后启动,可按需调整[Service] Type=simple # 服务的类型,常用的是 simple 或 forking User=root # 关键:指定以 root 用户运行 Group=root # 关键:指定以 root 用户组运行 ExecStart=/path/to/your/command.sh # 你的程序或脚本的绝对路径 Restart=on-failure # 可选:服务意外退出时自动重启 RestartSec=3 # 可选:重启前等待秒数[Install] WantedBy=multi-user.target # 表示在系统进入多用户模式时启动此服务
2、启用服务
# 1. 重新加载 systemd 配置,让系统识别新的服务文件 sudo systemctl daemon-reload# 2. 设置服务开机自启 sudo systemctl enable your-service-name.service# 3. 立即启动服务 sudo systemctl start your-service-name.service# 4. 查看服务运行状态,确认是否成功 sudo systemctl status your-service-name.service
如果服务启动失败,可以用以下方法排查。
sudo journalctl -u your-service-name.service -f
