zoukankan      html  css  js  c++  java
  • 复习linux启动时自动运行的守护进程

    linux中有两种方式管理守护进程(其实只要是调用了deamon函数的程序都能成为守护进程):

    1. standalone方式。进程被放到/etc/init.d中,启动方式可以选在用/sbin/service XXX restart,也可以用/etc/init.d/XXX restart。这两种方式本质一样都是运行了/etc/init.d/目录下面的某个脚本,这里面的脚本按照规范都要支持start stop restart这样的参数。这一类的程序都会作为一个单独的服务运行。
    2. super deamon方式。这种方式运行的进程都会注册到xinetd这进程,从外面看只有这一个进程,发给注册进程的消息都由xinetd转给注册进程来处理。xinetd的配置文件在/etc/inetd.conf,注册进xinetd的每个进程的配置在/etc/xinet.d/文件夹中。需要注意的一点是:inetd本身是一个守护进程,linux用standalone的方式来管理他,所以可以在/etc/init.d/目录中找到xinetd对应的脚本,就叫/etc/init.d/xinetd。
    守护进程并一定会在系统启动的时候运行,需要在一些地方指定让系统来运行。启动顺序是:
    1. BIOS
    2. MBR
    3. kernel loading
    4. init program
    5. /etc/rc.d/rc.sysinit 运行初始化脚本
    6. /etc/rc.d/rc[0-6].d/ 运行不同运行level下的守护进程,每个运行level对应一个目录,目录下面都是软链接,软链接指向的位置都在/etc/init.d/目录下面。由此可见,init.d其实就是init daemon的含义是啊
    7. /etc/rc.d/rc.local 运行本地设置脚本
    比较好的切入点是6和7,其中6是专门为启动时运行守护进程准备的,有专门的命令支持,他们是:
    1. /usr/sbin/ntsysv(red hat专有)
    2. /sbin/chkconfig
    前者是图形化的,后者可以 --add --list --del ,来操作谁是启动运行的守护进程,前提是这个进程已经在/etc/init.d/下面有了。
  • 相关阅读:
    3.java开发环境配置
    2.java主要特性
    1.java中main函数理解
    测试项目团队角色岗位职责
    单身程序员
    软件测评师考试
    vue父子组件通信
    python偏函数使用
    Numpy+Pandas读取数据
    chrome无界面模式headless配置
  • 原文地址:https://www.cnblogs.com/welkinwalker/p/2282366.html
Copyright © 2011-2022 走看看