avatar

目录
Linux系统下编写shell脚本

Linux之Shell脚本开机自启动

在/etc/rc.d/init.d目录下创建**.sh文件(也可以创建在其他目录下,然后通过mv 移动到该目录下)

Vim /etc/rc.d/init.d/**.sh

编写该**.sh文件

Code
#! /bin/bash(bash是sh的超集,这里使用sh也是可以的)
#chkconfig: 2345 10 90
#description: *****
执行代码

说明:chkonfig后面是启动级别和优先级,description后面是服务描述。如上面脚本意思是,服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,停止的优先级是10。
优先级范围是0-100,数字越大,优先级越低。
注意:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig

Linux启动优先级
运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。
这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)

缺省的运行级,RHS用到的级别如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启

对各个运行级的详细解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式类似。
2 为多用户模式,但是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。
6 为重启,运行init 6机器就会重启。

增加脚本的可执行权限

Chmod +x /etc/rc.d/init.d/**.sh

添加脚本到开机自启动项目中

Code
Chkconfig –add **.sh
Chkconfig **.sh on

相关指令

chkconfig –list 查看服务的进程状态
netstat -ltnp 查看当前用户的脚本状态

文章作者: 有梦想的守护
文章链接: https://www.codingsaikou.github.io/2020/01/31/Linux%E7%B3%BB%E7%BB%9F%E4%B8%8B%E7%BC%96%E5%86%99shell%E8%84%9A%E6%9C%AC/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CodingSaikou