ubuntu下 rc.local的脚本不运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu下 rc.local的脚本不运行相关的知识,希望对你有一定的参考价值。
参考技术A 把脚本添加到/etc/rc.local的exit 0之前sudo sh /home/flysea/setnet.sh
接着百度,网上有如下几种方法
就是这个 -e ,只要任何一条命令出错,脚本就会停止执行。
删除 -e 命令就能继续执行。
在脚本中加入 一个sleep延时,
开机执行成功
具体的原因是:
rc.local默认的执行用户是root,权限也是。killall -QUIT uwsgi是异步的,中间要sleep 1,歇一秒,不然直接start会继续被杀掉。
ubuntu设置开机启动脚本
rc.local脚本
rc.local脚本是一个ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。
该脚本具体格式如下:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0
注意: 一定要将命令添加在 exit 0之前
如何给ubuntu添加一个开机启动脚本
1,新建个脚本文件new_service.sh
#!/bin/bash # command content exit 0
2,设置权限
sudo chmod 755 new_service.sh
3,把脚本放置到启动目录下
sudo mv new_service.sh /etc/init.d/
4,将脚本添加到启动脚本
执行如下指令,在这里90表明一个优先级,越高表示执行的越晚
cd /etc/init.d/ sudo update-rc.d new_service.sh defaults 90
移除Ubuntu开机脚本
sudo update-rc.d -f new_service.sh remove
总结
以上是关于ubuntu下 rc.local的脚本不运行的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)