• Upstart概述引导方法事件驱动的任务和服务


    /*********************************************************************
     * Author  : Samson
     * Date    : 04/30/2014
     * Test platform:
     *              3.11.0-12-generic #19-Ubuntu
     *              GNU bash, version 4.2.45
     * *******************************************************************/

    Upstart是一个基于事件的替代在引导过程中处理任务和服务的启动、停止、监督整个系统执行的/sbin/init守护进程的一个程序。


    在Unix和Linux系统上的“初始化”或“系统初始化”过程中有进程ID(PID)为“1”。也就是说,它是启动在系统引导时(忽略的initrd/ initramfs)装载的第一道工序。依据官方说法。Upstart是一个替代传统的Unix的“System V”的“init”制度的“INIT”。Upstart提供与传统的“初始化”系统同样的功能。但超越了原有的很多方面。



    若是採用了Upstart方式的系统在启动时。会去运行/etc/init/下的众多.conf文件。这此文件里包括的即是服务或任务的运行方式。这些文件里就使用了基于Upstart事件的方法,比如ssh.conf,这是启动ssh服务的Upstart事件的配置文件;详细说明例如以下:

    # ssh - OpenBSD Secure Shell server
    #
    # The OpenSSH server provides secure shell access to the system.

    description    "OpenSSH server"

    #表示在登录界面运行的时候进行此服务(sshd)的启动
    start on desktop-session-start
    #以下这句的意义是当系统在2、3、4、5这四种启动模式下或文件系统事件信号的情况下
    #start on filesystem or runlevel [2345]
    stop on runlevel [!2345]
    #当服务或程序为停止状态时,为了让服务有持续性。则须要进行重新启动此服务
    respawn
    #重生极限计数间隔|无限
    #Syntax:
    #respawn limit COUNT INTERVAL | unlimited
    #下面语句的意义为:重新启动的最大次数为10次 每次间隔5秒
    respawn limit 10 5
    umask 022

    # 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
    console none
    #pre-start:
    #Syntax:
    #pre-start exec|script
    #在进行任务之前进行预处理的块
    #下面是推断sshd是否可运行 文件sshd_not_to_be_run是否存在等
    pre-start script
        test -x /usr/sbin/sshd || { stop; exit 0; }
        test -e /etc/ssh/sshd_not_to_be_run && { stop; exit 0; }
        test -c /dev/null || { stop; exit 0; }
        #能够在这里打印运行的时间。
        echo "`date` is start." > /home/wbc/sshdatatime.log
        #改动sshd的权限
        mkdir -p -m0755 /var/run/sshd
    end script

    # if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
    # 'exec' line here instead
    exec /usr/sbin/sshd -D

    Upstart參考:
    http://upstart.ubuntu.com/cookbook/#what-is-upstart


    重新启动系统后。服务启动时间是启动登录屏幕后的时间。相反,系统将开始启动该服务;

  • 相关阅读:
    REST Security with JWT using Java and Spring Security
    UserMapper.selectByPrimaryKey-Inline 报错的解决办法
    Nginx反向代理,负载均衡,redis session共享,keepalived高可用
    HTML 5 Web 存储-localStorage
    Android之自定义checkbox样式
    android fragment传递参数_fragment之间传值的两种方法
    linux常用基本命令
    fragment点击跳转到外部Activity后,怎么通过返回按钮返回
    android 中FragmentActivity中模拟返回键返回上一个Activity效果
    Fragment与Activity相互传递数据:
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/5032707.html
Copyright © 2020-2023  润新知