/*********************************************************************
 * 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

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

Upstart概述引导方法事件驱动的任务和服务的更多相关文章

  1. ng 通过factory方法来创建一个心跳服务

    <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <met ...

  2. 概述:基于事件的优化方法 / 事件驱动优化 / Event-Based Optimization / EBO

    大家好,我是月出 本文基于这篇综述,介绍了 事件驱动优化(Event-Based Optimization, EBO). 事件驱动优化,是一种建模现实场景.做优化的思路,理论和 MDP / 强化学习很 ...

  3. windows7 ubuntu双系统采用windows7 mbr引导方法

    在安装有Windows7系统上的机器,安装用Ubuntu后,开机会自动用grub2 引导.对于使用双系统的用户来说,用MBR和grub2都差不多,但是,我的机器上有三个系统,需要用MBR来引导变色龙, ...

  4. Java基础知识强化82:Random类概述和方法使用

    1. Random类 public class Random extends Object implements Serializable: 此类的实例用于生成伪随机数流.此类使用48位种子. (1) ...

  5. 双系统重装win7和ubuntu修复win7引导方法介绍(来源百度经验)

    很多朋友喜欢为电脑安装win7和ubuntu双系统,当我们重装双系统时,可能会出现win7引导不见的情况,接下来就告诉大家双系统重装win7和ubuntu修复win7引导的方法. 1.win7和ubu ...

  6. Java基础知识强化89:Date类之Data类概述及其方法

    1. Date类概述 类Date表示特定的瞬间,精确到毫秒 2. 构造方法 public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创 ...

  7. 一步步优化JVM一:概述、方法及需求

    现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求.由于各种各样的应用能够运行在现在JVM上面,所以大量的 ...

  8. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  9. 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口(老罗学习笔记4)

    在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口.实现这两者的目的是为了向更上一层提供硬件访问接口,即为 ...

随机推荐

  1. 我的pch文件

    /** *  1. RGB背景色 */ #define PPCOLOR_RGB(r,g,b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue: ...

  2. Rewrite Path in Asp.Net MVC Project

    // Change the current path so that the Routing handler can correctly interpret // the request, then ...

  3. JQuery replace 替换全部

    天在做写个程序时遇到需要替换的功能,可是一开始用jquery的replace时,发现只替换到第一个.最后没办法,只好用正则表达式来例如下面   re = new RegExp("{thisc ...

  4. Hibernate save或者persist 后获取主键ID

    一个自增长ID的对象被save或者persist后,会返回其主键ID: Department department = new Department(); department.setName(&qu ...

  5. 【UVA 10816】 Travel in Desert (最小瓶颈树+最短路)

    [题意] 有n个绿洲, m条道路,每条路上有一个温度,和一个路程长度,从绿洲s到绿洲t,求一条道路的最高温度尽量小, 如果有多条, 选一条总路程最短的. InputInput consists of ...

  6. ActivityManager的使用

    本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等.应用程序/包.服务(Serv ...

  7. 【HDOJ】1160 FatMouse's Speed

    DP. #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXNUM 1005 ...

  8. git stash的使用

    https://git-scm.com/docs/git-stash 在git svn的时候使用,提交记录的时候,有部分文件的修改不需要commit. 在向svn进行git svn dcommit的时 ...

  9. 轻松学习RSA加密算法原理 (转)

    轻松学习RSA加密算法原理 (转) http://blog.csdn.net/q376420785/article/details/8557266 http://www.ruanyifeng.com/ ...

  10. C# Web版报表

    1.添加ReportViewer 2.添加ObjectDataSource 3.须添加一个ScriptManager 4.添加并设计一个报表用数据集 5.设计rdlc报表,数据源选择第4步的数据集 6 ...