/*********************************************************************
 * 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. Matlab界面语言切换,自由显示中文或英文语言

    Matlab界面语言切换,自由显示中文或英文语言分享给大家,Matlab是一款商业数学软件,广泛使用于算法的开发.数据发现和数值计算等.不同用户对Matlab显示的语言需求也不一样,一用户习惯使用中文 ...

  2. JS身份证真实性校验(一)

    //这个可以验证15位和18位的身份证,并且包含生日和校验位的验证. //如果有兴趣,还可以加上身份证所在地的验证,就是前6位有些数字合法有些数字不合法. function isIdCardNo(nu ...

  3. 容斥原理算法总结(bzoj 2986 2839)

    容斥原理是一个从小学就开始学习的算法.但是很多难题现在都觉得做的十分吃力. 容斥原理大概有两种表现形式,一种是按照倍数进行容斥,这个东西直接用莫比乌斯函数就可以了. #include<iostr ...

  4. CAS单点登录配置[1]:准备工作

    关于CAS是什么这里就不在赘述,网友将它比喻成旅游景点的套票,买了一个套票就可以观看所有景点,不需要一个景点买一次票...我们重点介绍CAS单点登录的配置. 工具/原料 1.配置好JDK环境,否则不方 ...

  5. BZOJ_4196_[NOI2015]_软件包管理器_(树链剖分)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=4196 给出一棵树,树上点权为0或1.u权值为1的条件是从根节点到u路径上的所有点权值都为1.u ...

  6. android开发板

    element14-beaglebone-black http://www.embest-tech.cn/shop/star/element14-beaglebone-black-rev-c.html ...

  7. scp 在不同主机之间数据传输

    不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy.第二种方法就是采用 ...

  8. [GRYZ2014]递增子序列最大和

    [问题描述] 给定长度为n的正整数序列a1,a2,…,an. 求一个递增的子序列,和最大. [输入] 第一行,n,表示给定序列的个数. 第二行,n个用空格隔开的正整数. [输出] 递增子序列的最大和. ...

  9. 使用Block来进行页面间的传值

    Block语法 定义Block //定义类型 typedef void (^ReceiveMessageBlock)(NSString *); //申明变量 ReceiveMessageBlock t ...

  10. Hadoop之hive安装过程以及运行常见问题

    Hive简介 1.数据仓库工具 2.支持一种与Sql类似的语言HiveQL 3.可以看成是从Sql到MapReduce的映射器 4.提供shall.Jdbc/odbc.Thrift.Web等接口 Hi ...