1. init进程

非内核进程中第一个被启动运行的,因此它的进程编号PID的值总是1。init读它的配置文件/etc/inittab,决定需要启动的运行级别(Runlevel,分别由0到6的整数表示)。

对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d

在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。

命令脚本程序的执行顺序:字母S或者K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。

2. 修改启动进程


●如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。
●如果所做的修改比较细致,或者还要求关闭进程使之明确地停止运行,则需要在/etc/rc.d/init.d子目录中添加一个命令脚本程序。这个命令脚本程序必须可以接受Start和Stop参数并完成相应的操作。

如何把一个shell脚本添加为系统服务,并跟随系统启动:

可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。
脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):
. /etc/init.d/hahad

start() {
        echo "Starting my process "
        cd /opt
        ./haha.sh
}
stop() {
        killall haha.sh
        echo "Stoped"
}
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
chmod +x hahad                    #增加执行权限
chkconfig --add hahad             #把hahad添加到系统服务列表
chkconfig hahad on                 #设定hahad的开关(on/off)
chkconfig --list hahad               #就可以看到已经注册了hahad的服务

3. 注册系统服务

操作系统自带的服务,如ssh,ftp等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序提高“身价”。

比如我想把某个已经安装了的服务添加为系统服务,可以执行以下命令:

chkconfig --add 服务名称

chkconfig -leve 启动级别 服务名 on         

(说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

chkconfig -leve 启动级别 服务名 off              

(说明,off表示关闭自启动)

例如:chkconfig -level 3 mysql on (说明:让mysql服务在命令行模式,随系统启动)

如果要查看哪些服务被添加为系统服务可以使用命令 :

   ntsysv 或者chkconfig --list

如果要查看哪些程序被添加为自启动,可以使用命令  :

cat   /etc/rc.local

也可以使用   chkconfig --add 服务名称    来删除系统服务

如果要查看哪些服务被添加为系统服务可以使用命令 :

   ntsysv 或者chkconfig --list

如果要查看哪些程序被添加为自启动,可以使用命令  :

cat   /etc/rc.local

最新文章

  1. sql server2014不允许保存更改。阻止保存要求重新创建表的更改
  2. c语言之【#ifdef】
  3. 你还记得windows workflow foundation吗
  4. AS3 转 Java
  5. Android Build Error(1)
  6. Frenetic Python实验(三)
  7. OpenGL第8,9讲小结
  8. float right 换行bug
  9. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试
  10. HTML Canvas 鼠标画图
  11. 日交易41.9亿,B2B的魅力为何不输于B2C、C2C?
  12. PHP源码阅读strtr
  13. directX显示采集源(摄像头)filter
  14. 目标检测网络之 YOLOv2
  15. Linux快速搭建FTP服务器
  16. 国内常用DNS
  17. GTX 750TI 使用 ffmpeg 时无法用 GPU HEVC(h.265) 进行加速
  18. 常用的当前时间(返回String类型)
  19. Go Revel - Results(响应)
  20. JSON未定义

热门文章

  1. 《孙子算经》之"物不知数"题:中国剩余定理
  2. Javascript和Java获取各种form表单信息的简单实例
  3. hdu2030 汉字统计
  4. AngularJS 开发中常犯的10个错误
  5. C++ 基础 const放在函数末尾的意思
  6. poj 3264 【线段树】
  7. Git提交基本流程
  8. Activity生命周期 onCreate onResume onStop onPause (转)
  9. 【转】GeoHash核心原理解析
  10. 在Salesforce中通过dataloadercliq调用data loader来批量处理数据