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开机启动程序/服务)

ubuntu设置开机启动脚本

Ubuntu下添加服务开机启动

Ubuntu 解决 /etc/rc.local 开机启动问题

ubuntu 设置脚本开机自启动

Ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本