开机启动:
本文以leanote的开机启动和随身WiFi切换usb-otg并挂在U盘为例,内容比较详细,带命令内容和操作内容。
1、跳转到对应位置(/etc/init.d/)
cd /etc/init.d/
2、创建sh脚本(文本名.sh)(如果不存在会自动创建)
vim /etc/init.d/leanote.sh
3、在sh文件中输入一下内容
例1:
#!/bin/sh### BEGIN INIT INFO# Provides:Leanote# Required-Start: $network $remote_fs $local_fs# Required-Stop: $network $remote_fs $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Leanote# Description: Leanote start### END INIT INFO
cd /home/www/leanote/bin/
nohup bash run.sh &
exit 0
例2:
用vim打开需要修改的脚本,其中/etc/init.d/是存放路径
vim /etc/init.d/startmountusb.sh
#!/bin/sh### BEGIN INIT INFO# Provides:startmountusb# Required-Start: $network $remote_fs $local_fs# Required-Stop: $network $remote_fs $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: startmount+usb# Description: start mount and usb### END INIT INFOsleep 3
systemctl stop docker
sleep 3
echo host > /sys/kernel/debug/usb/ci_hdrc.0/role
sleep 3
mount/dev/sda1 /var/lib/docker
sleep 5
systemctl start docker
exit 0
建议:分步且可能有延迟的操作,建议加上等待时间。
启动文件模板解释:
#!/bin/sh
### BEGIN INIT INFO
# Provides: [程序名称,唯一]
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: [启动项的简短说明]
# Description: [启动项的完整说明]
### END INIT INFO
[需要执行的命令]
exit 0
在这个模板中,Provides 是唯一的,也就是在所有的开机启动项中,Provides不能有任何同名冲突。Short-Description 和 Description 随心情写。
需要执行的命令,按照正常的Bash Shell书写方式书写即可。
友情提示:需要后台静默运行的程序,请使用 nohup [需要执行的命令] >/dev/null 2>&1 & 方式来启动!最后的 exit 0 请不要删除!这个是返回正常退出信号的一个传值!
附:
vim操作:
1)逗号是指先后操作
2)【】包含的是键盘按键[]包含的是输入的英文内容
①【esc】:返回,输入命令,退出编辑模式
②【i】:编辑
③【shift】+【ins】:粘贴(可能有别,具体以你用的ssh为准)
④【esc】,[:wq] :保存并退出,注意wq前面的冒号是英文版,且需要输入。
⑤【esc】,[:q]:退出,如果有改动,就不能用这个
⑥【esc】,[:q!]:退出且不保存,注意是不保存!不保存!不保存!结构是冒号+q+叹号,英文版
4、将刚才编辑好的sh文件加上可执行的属性(如果不加属性,启动脚本将无法运行):
chmod +x leanote.sh
结构为: chmod+空格+[+x]+空格+脚本.sh
5、然后,将这个启动脚本加入开机启动项中:
update-rc.d leanote.sh defaults
结构为:update-rc.d+空格+脚本.sh+空格+defaults
6、然后重新启动系统,
reboot
版权归原作者 Cherry她哥 所有, 如有侵权,请联系我们删除。