一. 创建服务 (照做就行)
sudo vi /etc/systemd/system/rc-local.service
将下面内容粘贴到rc.local.service中
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
:wq 保存
二. 安装expect (用于切换用户)
apt-get install expect -y
三.编写rc-local.service服务执行脚本
sudo vi /etc/rc.local
将下面内容粘贴到rc.local中 ,"/home/kewan/shell"、“./synthesis.sh”是我自己的脚本路径,及要执行的脚本,用时要替换成你自己的
#!/usr/bin/expect
spawn su root
expect "Password:"
send "密码\r"
send "cd /home/kewan/shell/\r"
send "./synthesis.sh\r"
expect eof
exit
- 加权:
sudo chmod +x /etc/rc.local
- systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
- 启用服务:
sudo systemctl enable rc-local
- 启动服务:
sudo systemctl start rc-local.service
- 检查服务状态:
如果服务启动失败时,是可以看到失败原因的
sudo systemctl status rc-local.service