文档章节

ubuntu下 如何把应用程序做成服务--upstart

lake_r
 lake_r
发布于 2014/08/20 10:40
字数 325
阅读 62
收藏 0
description pro cc"
author "mjrao"

start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]

env DAEMON=/usr/sbin/pro
env PID=/var/run/pro.pid

console none

respawn
respawn limit unlimited

pre-start script
		sleep 10
end script

script
	exec $DAEMON 
end script

在上篇文章中提到关于 ubuntu下面将程序做成服务运行,主要采用了upstart方式(http://upstart.ubuntu.com/)

http://blog.fens.me/linux-upstart/    以上URL 是upstart的详细介绍

————————————————————————————————————————————————

当时面临问题: 1.  init进程内存不停的增加,最终导致系统崩溃

                        2.  服务进程占用cpu 高居不下

                        3. 由于 服务进程其中之前需要网络支持。虽然在描述脚本中start on 有如下描述

net-device-up IFACE=lo

但是似乎还是不行,尽管我把 IFACE= eth0。此系统环境中是网卡IP信息是本人在/etc/network/interface中手动修改的。并非在窗体界面上配置。 最终导致程序起来之后,设置的静态IP未生效。

————————————————————————————————————————————————

以上三个问题,在几度放弃的情况下最终找到了解决方案:

            1.  去掉了 expect fork

      2. console none 并且把主程序中的while循环中标准i/o操作去掉

      3.  在pre-start 中添加  sleep 10.  即程序在等待10秒之后再启动,这样避免了网络问题

© 著作权归作者所有

lake_r
粉丝 82
博文 156
码字总数 72444
作品 0
朝阳
后端工程师
私信 提问
upstart 和ubuntu启动过程原理介绍

ubuntu从6.10开始逐步用upstart代替原来的sysinit,进行服务进程的管理。也正是从6.10开始,ubuntu的启动过程开始变得有点“变幻莫测”。也没办法,这是正在开发中的upstart不可避免的。为了...

yeyelei
2010/09/14
0
0
浅析 Linux 初始化 init 系统,第 2 部分: UpStart

Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这是因为 Ubuntu 使用了一种被称为 upstart 的新型 init 系统。 开发 Upstart 的...

zhangyujsj
2015/03/14
0
1
如何使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务

对于 Linux 管理员来说这是一个重要(美妙)的话题,所以每个人都必须知道,并练习怎样才能更高效的使用它们。 在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些...

作者: Prakash Subramanian
2018/11/18
0
0
Linux服务管理: chkconfig 和 systemctl 命令

对于 Linux 管理员来说这是一个重要(美妙)的话题,所以每个人都必须知道,并练习怎样才能更高效的使用它们。 在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些...

linuxprobe16
2018/11/23
0
0
Upstart 将被放弃,Ubuntu 投入 Systemd 怀抱

每次 Systemd 发布,我们都对发现这个所谓的“初始化系统”又做了比原来的设计目标还要多得多的工作,它慢慢地接管了 GNU/Linux 操作系统越来越多的内部组件的工作。甚至,我们毫不怀疑它将会...

linuxprobe
2016/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
15
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
10
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
14
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
15
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部