linux -- 启动时启动服务或者执行命令
运行等级
首先,我们需要知道Linux系统关于运行等级的知识。在不同的linux系统上(例如ubuntu和Fedora)这些数字与和所代表的意义可能不同,但主要的有以下几个:
- 单用户模式。
- 多用户模式。
- 网络多用户模式。
- 用于特殊目的的预留
- 添加显示管理器到等级3
因此,对于普通的运行等级,服务使用等级3,这时不管X11是否启动,服务将自动启动。
服务,守护进程,服务器
在Ubuntu中,可以使用sys-rc-conf命令简单的选择需要启动的已安装服务。
在Fedora下,可以使用chkconfig达到同样的目的。
自定义脚本与应用
当然也有其它的方法配置系统启动时需要自动运行的服务与应用程序。在/etc/rcX.d(X表示运行等级)目录下,有许多需要运行在每个等级下的命令/脚本/应用。可以把具有某种目的(维护/挂载文件系统等)的脚本链接到这个目录下,脚本就会在系统启动时执行。
创建连接时,需要注意命名格式:Sxx或者Syy(xx和yy使用数字代替,例如K36mysqld和S64mysqld)。这些命令将根据数字的大小依次执行,字母S与K是告诉系统这是个启动或者结束命令(S->Start, K->Kill)。就是说,在选择中运行等级下,系统启时执行S开头的连接,关闭时执行K开头的链接。
例如:
$ ls /etc/rc0.d/ -ano
total
drwxr-xr-x. Apr : .
drwxr-xr-x. Mar : ..
lrwxrwxrwx. Dec : K01livesys-late -> ../init.d/livesys-late
lrwxrwxrwx. Dec : K50netconsole -> ../init.d/netconsole
lrwxrwxrwx. Apr : K80redis -> ../init.d/redis
lrwxrwxrwx. Apr : K90network -> ../init.d/network
lrwxrwxrwx. Dec : K99livesys -> ../init.d/livesys
另一种方法:
可以在/etc/rc.local文件中加入需要执行的命令,当系统启动完成时,这些命令将被执行。
就是说,这些命令将在运行等级3后被执行,MySql, Apache等服务后启动完后运行。尽管这是一种简单的方案,但我还是推荐使用上一种方案,因为上一方案可以完全控制执行哪此命令,以及执行的时间和位置。当然这可能需要你有对Linux系统环境很好的了解。
引用
linux -- 启动时启动服务或者执行命令的更多相关文章
- JAVA调用系统命令或可执行程序--返回一个Runtime运行时对象,然后启动另外一个进程来执行命令
通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过.基本原理是,首先通过 Runtime.getR ...
- tomcat启动时启动窗口出现乱码一招搞定
先来看看问题(图示),在tomcat的启动窗口打印的启动信息中包含了大量的中文乱码,虽然这些对tomcat本身的使用没有任何影响,但却非常碍眼,影响视觉效果! tomcat启动时启动窗口出现乱码的解决 ...
- Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x)
Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x) 转自:http://jakfruit.blog.163.com/blog/stat ...
- Debian GNU Linux服务列表的获取、服务的关闭/开启、服务在启动时是否自己主动执行的生效/失效
/********************************************************************* * Author : Samson * Date ...
- 在web项目启动时,使用监听器来执行某个方法
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 这里写了个简 ...
- dubbo启动时检查服务
Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true". 可以通过 che ...
- springBoot启动时让方法自动执行的几种实现方式
一.开篇名义 在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答 1.实现ServletContextAw ...
- 运行docker容器镜像2(指定容器启动时启动的脚本)
docker中启动容器有以下两种情况. 第一种是通过 # docker run containerid 启动一个容器. 第二种是重新启动已经关闭的容器. # docker start containe ...
- linux免交互登陆远程主机并执行命令(密钥对和Expect)
原文章摘自:http://lizhenliang.blog.51cto.com/7876557/1607723/ Linux下实现免交互登陆一般有两种: 1. SSH无密码认证方式 客户端使用ssh- ...
随机推荐
- struts2.1笔记06:struts2开发环境的搭建实际操作出现的问题
1.我根据新建一个struts工程之后,启动报错,如下: 六月 29, 2015 3:08:18 下午 org.apache.catalina.core.AprLifecycleListener in ...
- ArcGIS Server 10.2 实战(一)Asp.net MVC与JSON数据妙用实现动态生成要素图层
今年7月刚刚发布的ArcGIS 10.2为GIS的web开发带来了一个很实在的功能,JSON转要素.以往GIS图层外部数据(如文本数据,数据库数据)动态地写入地图服务中的图层是一件不可想象的事情,如今 ...
- MAC mysql安装及设置
MAC下安装MYSQL有两种方式,一种为压缩包形式 另一种为.dmg文件安装包 . 首先先介绍压缩包形式的安装方法: 去MySql官网下MySQL classic版mysql-5.1.54-osx ...
- phpnow升级php版本 php-5.2.14-Win32升级至5.3.5
PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22.下面来升级PHP5.3.5: 1.下载安装文件: 先下载PHP5.3.5,下载地址:php-5.3.5-Win32-V ...
- 如何定位到append的当前位置,不用拉滚动条scrollIntoView方法
var bb_mes_con = $('bb_mes_con'); var mes_html = document.createElement('div'); mes_html.setAttribut ...
- poisspdf(so also poisscdf, poissfit, poissinv, poissrnd, poisstat, pdf.)
Poisson分布的累积概率值 命令:poisscdf 格式:poisscdf (k, Lambda) Poisson分布 在二项分布中,当n的值很大,p的值很小,而np又较适中时,用Poisson分 ...
- 关闭 Flash 沙箱安全模式,解决浏览器高占用
经常碰到 Firefox 因 Flash 插件崩溃,到卡饭翻了翻,发现是 Flash 沙箱的问题.原文附带了去沙箱保护的 Flash 插件,可惜版本有点旧,遂自己动手解决. 注意:办法一适用于 [ 安 ...
- ZooKeeper(3.4.5) - 配置伪集群模式
1. 准备 Java 运行环境,需要安装 Java1.6 或更高版本的 JDK. 2. 下载 ZooKeeper 的稳定版本 zookeeper-x.x.x.tar.gz,将其解压,约定目录名称为 % ...
- C# 每天温习一点(IEnumerable<TSource>)
1, IEnumerable<TSource> 多数屌丝写成 IEnumerable<T> 无论TSource还是T都代表一个意思:要枚举的对象的类型 .IEnumerab ...
- Java I/O第二篇 之 (缓冲流 随机流 数组流 数据流)
1:缓冲流 BufferedReader BufferedWriter 具有较强的读写能力,能单独读写一行数据,能够减少对硬盘的访问次数. /** * 缓冲流 能够增强对问价数据的可读性,减少访问读 ...