Linux Shell 高级编程技巧3----运行级别脚本介绍
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----运行级别脚本介绍的更多相关文章
- Linux Shell 高级编程技巧4----几个常用的shell脚本例子
4.几个常用的shell脚本例子 4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释 4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash c ...
- Linux Shell 高级编程技巧2----shell工具
2.shell工具 2.1.日志文件 简介 创建日志文件是很重要的,记录了重要的信息.一旦出现错误,这些信息对于我们排错是非常有用的:监控的信息也可以记录到日 ...
- Linux Shell 高级编程技巧1----深入讨论(awk、<<)
1.深入讨论(awk.<<) 1.1.深入讨论awk 记录和域,模式和动作,正则表达式和元字符 基础教程中已经介绍 条件和逻辑操作符 ...
- 跟着老男孩一步步学习Shell高级编程实战
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...
- (转)跟着老男孩一步步学习Shell高级编程实战
原文:http://oldboy.blog.51cto.com/2561410/1264627/ 跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...
- Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...
- Linux环境高级编程--介绍
从今天開始.将开启Linux环境高级编程(Advanced Programming Of Linux Enviroment)的学习笔记或者说总结,我将持续和大家分享自己的学习成果.本系列博客依托于li ...
- Linux C高级编程——文件操作之系统调用
Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的. 库函数是一些完毕特定功能的函数.一般由某个标准组织制作公布,并形成一定的标准.使用库函数编 ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader
高级编程技巧只是相对的,其实主要是讲物理模拟和着色器程序的使用. 本章主要讲解利用Box2D并用它来实现萝卜雨,然后是使用单色着色器shader让画面呈现单色状态:http://files.cnblo ...
随机推荐
- 单链表的类的c++实现
#include<iostream> using namespace std;template <class T>struct linkNode{ T data; linkNo ...
- HttpGet
private static void func_httpGet(String url) { HttpClient httpClient = new HttpClient(); try { GetMe ...
- SQL Server OBJECT_ID() 函数
OBJECT_ID 返回架构范围内对象的数据库对象标识号. 重要提示 使用 OBJECT_ID 不能查询非架构范围内的对象(如 DDL 触发器).对于在 sys.objects 目录视图中找不到的对象 ...
- hadoop初识
搞什么东西之前,第一步是要知道What(是什么),然后是Why(为什么),最后才是How(怎么做).但很多开发的朋友在做了多年项目以后,都习惯是先How,然后What,最后才是Why,这样只会让自己变 ...
- Intellij Idea 14 生成serialVersionUID的方法
默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告.如果需要ide提示生成serialVersionUID,那么需 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- ACM/ICPC 之 DP-整数划分问题初探 (POJ1221)
写下这道题的原因很简单= =,因为这一题的状态转移方程不好找,另一方面,我看到很多针对这一题写的解题报告都把累加状态说得模棱两可,甚至直接说成了一个单一状态,弄得本是菜鸟的我硬生生折磨了一上午画了几个 ...
- ffmpeg-20160517-git-bin
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...
- Java for LeetCode 214 Shortest Palindrome
Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. ...
- Effective C++ -----条款40:明智而审慎地使用多重继承
多重继承比单一继承复杂.它可能导致新的歧义性,以及对virtual继承的需要. virtual继承会增加大小.速度.初始化(及赋值)复杂度等等成本.如果virtual base classes不带任何 ...