3.运行级别脚本介绍
    3.1.运行级别
        运行级别介绍:
            0    关机
            1    单用户模式
            2    多用户模式,没有NFS服务
            3    多用户模式
            4    目前还没有使用
            5    X windows 的启动模式
            6    重启计算机
        运行级别对应的目录(/etc/rcN.d,N是数字0、1、2...)
        当前运行级别
            用runlevel目录获取当前运行级别(运行级别从0开始)
        运行级别目录文件格式(X是阿拉伯数字,script是脚本名称)
            SXXscript
                表示在这种运行级别下面,这个脚本的服务是启动的
            KXXscript
                表示在这种运行级别下面,这个脚本的服务是不启动的
            例如在/etc/rc5.d文件中用 ls 查看里面的文件,
                有K01kdcrotate、K15httpd、S80isc...文件
                这些文件都是超链接文件,链接到 /etc/init.d/ 下面对应的文件,例如K01kdcrotate链接文件对应的是 /etc/init.d/ 下面的 kdcrotate 文件;S80isc 链接文件对应的是 /etc/init.d/ 下面的 isc 文件
            启动服务的顺序
    3.2.inittab启动文件
        运行级别控制文件(/etc/inittab)
            该文件是linux系统启动时执行的脚本
        编辑inittab文件(使用vim /etc/inittab 命令可以打开该文件)
            例子:在inittab文件中添加一条语句,使得系统启动时候就能执行检查系统磁盘情况的shell脚本文件checkdisk.sh
                checkdisk::once:/sbin/checkdisk.sh > /dev/console 2>&1    表示在每个运行级别中都执行这条命令,如果要制定在第三运行级别可以这样:checkdisk:3:once:/sbin/checkdisk.sh > /dev/console 2>&1
    3.3.启动应用程序。通过使用启动脚本来使应用程序自动开机启动,不用再手动启动
        启动脚本分析(start|stop|restart)
            cat /etc/init.d/crond
        以MySQL应用程序为例
            MySQL有自己的mysqld脚本文件,在安装MySQL应用程序的时候,将mysqld放到/etc/init.d/目录下,再在相应的运行级别下面做相应的KXXscript或SXXscript命名格式的超链接
        启动脚本
            方法1:service server start|stop|restart|...        server是指脚本的名字
                例子
                    service mysald start
            方法2:script_name start|stop|restart
        创建自己的启动脚本的方法(可以使用这样的方法,比如来启动自己开发的C应用程序)
            1.在/etc/init.d/目录下创建自己的启动脚本文件,参看 /etc/init.d/ 下面已有的启动脚本文件的语法格式来编写自己的启动脚本
            2.在/etc/rcN.d/目录下,也就是在相应的运行级别中用SXXscript或者KXXscript的格式创建对应启动脚本的链接

Linux Shell 高级编程技巧3----运行级别脚本介绍的更多相关文章

  1. Linux Shell 高级编程技巧4----几个常用的shell脚本例子

    4.几个常用的shell脚本例子    4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释    4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash c ...

  2. Linux Shell 高级编程技巧2----shell工具

    2.shell工具    2.1.日志文件        简介            创建日志文件是很重要的,记录了重要的信息.一旦出现错误,这些信息对于我们排错是非常有用的:监控的信息也可以记录到日 ...

  3. Linux Shell 高级编程技巧1----深入讨论(awk、<<)

    1.深入讨论(awk.<<)    1.1.深入讨论awk        记录和域,模式和动作,正则表达式和元字符            基础教程中已经介绍        条件和逻辑操作符 ...

  4. 跟着老男孩一步步学习Shell高级编程实战

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...

  5. (转)跟着老男孩一步步学习Shell高级编程实战

    原文:http://oldboy.blog.51cto.com/2561410/1264627/  跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...

  6. Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程

    Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...

  7. Linux环境高级编程--介绍

    从今天開始.将开启Linux环境高级编程(Advanced Programming Of Linux Enviroment)的学习笔记或者说总结,我将持续和大家分享自己的学习成果.本系列博客依托于li ...

  8. Linux C高级编程——文件操作之系统调用

    Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的.           库函数是一些完毕特定功能的函数.一般由某个标准组织制作公布,并形成一定的标准.使用库函数编 ...

  9. [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader

    高级编程技巧只是相对的,其实主要是讲物理模拟和着色器程序的使用. 本章主要讲解利用Box2D并用它来实现萝卜雨,然后是使用单色着色器shader让画面呈现单色状态:http://files.cnblo ...

随机推荐

  1. xp远程桌面登陆需要身份验证问题解决

    今天在客户这边部署了一个专门用于远程访问的计算机,但是系统是xp,windows服务器最新的已经到2012版本了,windows服务器从2008开始就要求远程桌面登陆支持nla,因此在使用xp登陆wi ...

  2. typedef使用大全(转)

    typedef使用大全(转) 一.数组typedef到处都是,但是能够真正懂得typedef使用的不算太多.对于初学者而言,看别人的源码时对到处充斥的typedef往往不知所错,而参考书又很少,所以在 ...

  3. Thread.Sleep vs. Task.Delay

    We use both Thread.Sleep() and Task.Delay() to suspend the execution of a program for some given tim ...

  4. ConsoleApplication 添加对于 System.ServiceModel.Web 引用失败(出现黄色感叹号)的解决办法

    今天在写一个WebHttpBinding的demo,再创建一个Console应用程序后,发现无法添加System.ServiceModel.Web,如图

  5. VS 2012: Post build 中使用 Signtool.exe,对于特殊password中字符的处理方法

    众所周知,在VS(Visual Studio)里面可以利用post build 进行一些类似于CMD或者批处理的操作. 最近的项目中用到了MicroSoft的SignTool工具,目的是要把一个数字签 ...

  6. Java 中常用缓存Cache机制的实现《二》

    所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例.这样做可以减少系统开销,提高系统效率. AD: Cache 所谓缓存,就是将程序或系统经常要 ...

  7. 关闭EXCEL进程

    //导入Windows类库,可以获得进程ID        [DllImport("User32.dll", CharSet = CharSet.Auto)]        pub ...

  8. iOS drawRect 和 awakeFromNib

    今天想在一个view上绘制一个虚线边框,百度到的代码如下: CAShapeLayer *borderLayer = [CAShapeLayer layer]; borderLayer.frame = ...

  9. ffmpeg-20160816-bin.7z

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...

  10. Effective C++ -----条款24:若所有参数皆需类型转换,请为此采用non-member函数

    如果你需要为某个函数的所有参数(包括被this指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member.