解决Ubuntu开机启动项rc.local不工作的问题
2018-03-03 20:43
627 查看
整个过程异常困难,还好最后成功了。首先尝试了在/etc/init.d下新建自己的脚本,然后加权限【sudo chmod +x 脚本】,接下来配置开机启动【sudo update-rc.d 脚本 defaults】。按理说这样就OK了,但是此处可能会看到一个missing LSB tag的错误,可以选择忽视掉,解决办法之一是非常粗暴的删除insserv这个东西(用apt删),另一种办法是添加他要的那个LSB tag. 具体格式参见【man insserv】,总之就是一堆注释。如果想修改脚本的话,记得先用【sudo update-rc.d -f 脚本 remove】将脚本从启动项中删除.然而这样改了,开机之后照样没有启动。之后又尝试了网上的一堆解决方案。#!/bin/sh的问题,有的博客说/bin/sh连接到了dash而不是bash,所以需要修改第一行为#!/bin/bash。但是改了之后也不好使。runlevel的问题,改了半天重启无数次也没看见有什么效果…环境变量的问题,我的脚本都是绝对路径,不存在这个问题。而后又切换到/etc/rc.local和/etc/init.d/rc.local上,通过查看代码可以看出/etc/init.d/rc.local执行了/etc/rc.local,而rc.local这个东西也没有什么runlevel的问题,于是在修改了第一行的前提下,尝试将脚本写到这里面。重启,仍然失效。最后发现了某位博主的神奇方法,在所有命令之前加一行sleep 1或者sleep 3或者更长。原博主给出的解释是:【rc.local默认的执行用户是root,权限也是。killall -QUIT uwsgi是异步的,中间要sleep 1,歇一秒,不然直接start会继续被杀掉。】翻译过来就是,rc.local脚本在执行期间,很有可能遇到QUIT信号什么的,在这个期间如果程序还在执行就会退出。所以要sleep来躲掉这个信号。对于这个解释我也是醉了… 不过确实是奏效的. 然而副作用也很明显,在开机的过程中能明显的看出停顿(因为sleep了,这里sleep的越长,开机的卡顿就越明显)
相关文章推荐
- ubuntu10.10下内核编译,解决开机启动出现Could not load /lib/modules/.../modules.dep的问题
- 解决开机不显示其他磁盘问题 PySdm :设置Ubuntu启动挂载硬盘分区
- Ubuntu 16.04在启动和关机时不显示启动和关机画面且显示详细的命令信息,没有进度条和Logo,或者只有紫色界面,或者没有开机画面等问题解决
- 解决ubuntu开机启动黑屏以及分辨率问题
- Ubuntu启动停在开机界面和进入系统后空白桌面的问题解决标题有点长
- centos7 重装系统后无线网卡找不到以及解决开机网卡不启动问题
- 关于ubuntu系统启动时显示.dmrc权限不正确的问题的解决
- 关于WIN10开机启动慢的一些问题解决
- Ubuntu16.04开机蓝屏问题解决
- ubuntu 下的firestarter无法启动的问题解决办法
- Ubuntu Server 12上安装OpenStack Nova后nova-compute和nova-volume启动不了的问题解决
- 解决ubuntu下安装mysql使用service无法启动问题
- Ubuntu14.04开机亮度始终为最大问题的解决办法
- win7+ubuntu双系统下启动ubuntu黑屏问题解决
- Ubuntu 14.04解决minidwep-gtk无法启动问题
- 解决问题:Ubuntu启动卡在grub,或卡在initramfs及其他启动问题
- UBUNTU开机时出现“waiting for network configuration” 问题的解决 (转)
- 设置oracle10g-解决开机启动慢 问题
- Ubuntu下Eclipse无法正常启动问题解决
- 解决Ubuntu启动时出现“welcome to emergency mode”的问题