Liunx 开机自启管理

来源:互联网 发布:云烟 淘宝客 编辑:程序博客网 时间:2024/05/16 14:16

Liunx 开机自启管理


相信大家经常会遇到刚安装了一个服务,突然发现不知怎么设置开机自启,或者写了一个脚本,想要设置成开机自启却不知道怎么添加。
这里就给大家提供两种设置方法。


1.直接添加启动命令到 /etc/rc.local

// 打开/etc/rc.localsudo vim /etc/rc.local//  添加一行shell命令service apache2 start// 或者添加一个脚本bash /home/pi/start_web.sh// 注意:添加内容必须在exit 0之前!!脚本必须具有可执行权限。// 参考脚本内容#!/bin/sh# 延时3分钟sleep 180# 启动apacheservice apache2 start

扩展:Linux后台执行脚本文件(nohup)

对于很多命令是不会以服务的形式运行在后台的,如果该命令没有自我的exit退出,那么后续的命令将不会执行,所以就有了后台执行脚本(nohup)。
基本命令:nohup command > myout.file 2>&1 &
分析:
command :就是你要执行的完整命令(包括自身的参数设置)
myout.file :运行日志输出到 myout.file 文件中,常为 /dev/null ,就是直接丢弃的意思
2>&1 :是一个整体,中间没有空格,表示把标准输出和错误输出都传到指定文件中。
最后一个& , 是让该命令在后台执行。

2.update-rc.d命令管理启动

此命令用于安装或移除System-V风格的初始化脚本连接。脚本是存放在 /etc/init.d/目录下的,当然可以在此目录创建连接文件连接到存放在其他地方的脚本文件。
此命令可以指定脚本的执行序号,序号的取值范围是 0-99,序号越大,越迟执行。


参数说明:

update-rc.d [-n] name default [NN | SS KK] 添加一个启动脚本
update-rc.d [-n] [-f] name remove 用于移除脚本。

-n:不做任何事情,只显示将要做的。(预览、做测试)
-f:强制移除符号连接,即使 /etc/init.d/script-name 仍然存在。
NN:表示执行序号(0-99)
SS:表示启动时的执行序号
KK:表示关机时的执行序号
SS、KK主要用于在脚本直接的执行顺序上有依赖关系的情况下

例子演示:

// 编写启动脚本,可参考如下:(已有可跳过)// 创建要开机自动执行的脚本:sudo vim /home/pi/start_web.sh// 给予可执行权限:sudo chmod +x /home/pi/start_web.sh// 在/etc/init.d目录下创建链接文件到前面的脚本: sudo ln -s /home/pi/start_web.sh /etc/init.d/start_web// 进入/etc/init.d目录cd /etc/init.d// 用 update-rc.d 命令将连接文件 start_web 添加到启动脚本中去:sudo update-rc.d start_web defaults 99// 其中的99表示启动顺序,取值范围是0-99。序号越大的越晚执行。// 移除启动的脚本:sudo update-rc.d -f start_web remove
原创粉丝点击