博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux设置开机自启动
阅读量:6432 次
发布时间:2019-06-23

本文共 1889 字,大约阅读时间需要 6 分钟。

一.、在/etc/rc.local文件中添加自启动命令

执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令

运行程序脚本:然后在文件最后一行添加要执行程序的全路径。

例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "

注意,你的命令应该添加在:exit 0 之前

 

 

 

二、在/etc/init.d目录下添加自启动脚本

linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件

Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。

 

三、运行级别设置

简单的说,运行级就是操作系统当前正在运行的功能级别。

不同的运行级定义如下:# 0 - 停机(千万不能把initdefault 设置为0 )# 1 - 单用户模式         进入方法#init s = init 1# 2 - 多用户,没有 NFS# 3 - 完全多用户模式(标准的运行级)# 4 - 没有用到 # 5 - X11 多用户图形模式(xwindow) # 6 - 重新启动 (千万不要把initdefault 设置为6 )

例:在Ubuntu/debain里,可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中。

update-rc.d proxy defaults 99

update-rc.d后面有三个参数,分别是/etc/init.d下的脚本名字,默认安装方式,运行的优先级。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。

如果要卸载随机启动的服务,执行

update-rc.d -f proxy remove

在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的命令,连LSB的信息也没有提供。

update-rc.d: warning: /etc/init.d/proxy missing LSB informationupdate-rc.d: see 

只需要对自启动脚本做一些小改动,就可以避免那个警告了。如下:

#!/bin/sh### BEGIN INIT INFO# Provides: proxy# Required-Start: $remote_fs# Required-Stop: $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start or stop the HTTP Proxy.### END INIT INFOcase "$1" instart)start-stop-daemon --start --background --exec /root/proxy.py;;stop)start-stop-daemon --stop --name proxy.pyesac

到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已。

在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。

 

四、把脚本注册为系统服务

在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:

. /etc/init.d/functionsstart() {echo "Starting my process "cd /opt./test.sh}stop() {killall test.shecho "Stoped"}

写了脚本文件之后事情还没有完,继续完成以下几个步骤:

chmod +x startTest         #增加执行权限chkconfig --add startTest     #把startTest添加到系统服务列表chkconfig startTest on       #设定startTest的开关(on/off)chkconfig --list startTest.sh   #就可以看到已经注册了startTest的服务

 

  

转载地址:http://cpxga.baihongyu.com/

你可能感兴趣的文章
FindMaxConsecutive.java
查看>>
面试官问:ZooKeeper 一致性协议 ZAB 原理
查看>>
DNS实现域名正解与反解
查看>>
Linux学习-标准输入输出
查看>>
CentOS 7 配置IP
查看>>
文本处理工具grep及正则表达式
查看>>
Intel VT-x处于禁用状态
查看>>
用什么软件可以修改PDF文件,软件的操作方法
查看>>
如何精简企业主数据“裹脚布”
查看>>
& 号和管道符号(|)在不同场景下的使用方法
查看>>
curl 浏览器模拟请求实战
查看>>
多个VLAN中的vrrp备份组配置举例
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(六)
查看>>
interlib在tomcat7.0的安装
查看>>
水晶报表在大型WEB内部管理系统里的滑铁卢
查看>>
我的友情链接
查看>>
Git学习
查看>>
trove 基于 centos7 制作 mysql5.6 镜像
查看>>
结合i节点和数据块分析linux中软链接和硬链接的区别
查看>>
Heartbeat crm的配置
查看>>