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- ...
随机推荐
- Python文件IO
Python文件IO 有如下文本内容,文件路径为D:\temp,文件名称为lyric.txt, line1 Look ! line2 If U had one shot line3 One oppor ...
- xcode笔记
1.Alt键的使用 2.设置捕捉所有意外断点:停在代码出错处 2015年07月27日09:52:12 3.搜索 command + F:在当前的文件中搜索 command + Shift ...
- Hive的JDBC使用&并把JDBC放置后台运行
使用JDBC访问HIVE: 首先启动hive的JDBC服务. 进入hive的bin目录: 这样启动是启动到前台.如果 要想启动到后台需要用到Linux的相关命令. 我们先把其放到前台看下效果,之后再把 ...
- 转:云计算的三种服务模式:IaaS,PaaS和SaaS
转: http://www.cnblogs.com/beanmoon/archive/2012/12/10/2811547.html 云服务”现在已经快成了一个家喻户晓的词了.如果你不知道PaaS, ...
- 转:一个C语言实现的类似协程库(StateThreads)
http://blog.csdn.net/win_lin/article/details/8242653 译文在后面. State Threads for Internet Applications ...
- 从零单排Linux – 3 – 目录结构
从零单排Linux – 3 – 目录结构 1.FHS标准(filesystem hierarchy standard) why? –> 为了规范,还有为了linux的发展 重点 –> 规范 ...
- Commons Lang - StringUtils
Operations on String that are null safe. IsEmpty/IsBlank - checks if a String is empty (判断字符串是否为空) T ...
- 导出Private API
首先介绍下private API 它共分为两类: 1 在官方文档中没有呈现的API(在frameworks 下隐藏) 2 苹果明确申明不能使用的API ,在privateFrameworks 下 然后 ...
- JDBC之初识
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- Bootstrap引用
<!--设置移动设置页面标准--> <meta name="viewport" content="width=device-width,i ...