runinit启动小程序测试

与Supervisord类似的工具包括monit, daemontools和runit。

我还发现个神器,专门针对单容器启动多进程的神器s6: https://github.com/just-containers/s6-overlay

参考: https://github.com/faisyl/alpine-runit/blob/master/Dockerfile

https://segmentfault.com/a/1190000006644578

安装

# apt-get install runit

如果是centos,则可以使用yum进行安装,但是默认情况下centos软件仓库里并没有runit,所以需要先配置相应的仓库:
# curl -s https://packagecloud.io/install/repositories/imeyer/runit/script.rpm.sh | sudo bash
# sudo yum install runit-2.1.1-7.el7.centos.x86_64

runinit启动小程序测试

- 创建目录(2个run文件,+x)
root@no1:~# tree test/
test/
├── log
│   └── run
└── run - 新建run(程序启动命令)
root@no1:~# cat test/run
#!/bin/sh
exec 2>&1
echo $date
echo "-------------------" - 新建run(日志处理)
root@no1:~# cat test/log/run
#!/bin/sh
LOGDIR=/var/log/test
mkdir -p $LOGDIR
# Prefix each line with a timestamp
exec svlogd -tt $LOGDIR - 让runint管理
cp -rp test /etc/service/ - 查看运行状态
root@no1:~# tail -f /var/log/test/current
2017-12-28_10:42:48.60753
2017-12-28_10:42:48.60757 -------------------
2017-12-28_10:42:49.60933

查看calico使用runinit怎么启动多进程的

docker run -it --rm quay.io/calico/node sh

$ ls available/
bird bird6 calico-bgp-daemon confd felix libnetwork $ cat available/bird/run
#!/bin/sh
exec 2>&1
exec bird -R -s /var/run/calico/bird.ctl -d -c /etc/calico/confd/config/bird.cfg $ cat available/bird/log/run
#!/bin/sh
LOGDIR=/var/log/calico/bird
mkdir -p $LOGDIR
# Prefix each line with a timestamp
exec svlogd -tt $LOGDIR - 查看进程的日志(时间是runinit搞的)
tail -f /var/log/test/current
2017-12-28_13:15:24.81191
2017-12-28_13:15:24.81196 -------------------
2017-12-28_13:15:25.81559
2017-12-28_13:15:25.81565 -------------------

[svc]runinit管理多进程的更多相关文章

  1. 操作系统学习笔记4 | CPU管理 && 多进程图像

    操作系统的核心功能就是管理计算机硬件,而CPU就是计算机中最核心的硬件.而通过学习笔记3的简史回顾,操作系统通过多进程图像实现对CPU的管理.所以多进程图像是操作系统的核心图像. 参考资料: 课程:哈 ...

  2. Daemontools和Supervisor管理linux常驻进程

    linux主要使用supervise来管理常驻进程.基于supervise的两个比较重要的工具是Daemontools和Supervisor. 实际上,supervise也算Daemontools的一 ...

  3. 【nodejs原理&源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)

    [摘要] 集群管理模块cluster浅析 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 概述 cluster模块是node.js中用于实现和管理 ...

  4. 【nodejs原理&源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)

    目录 一. 概述 二. 线程与进程 三. cluster模块源码解析 3.1 起步 3.2 入口 3.3 主进程模块master.js 3.4 子进程模块child.js 四. 小结 示例代码托管在: ...

  5. [No000037]操作系统Operating Systems操作系统历史与硬件概况History of OS & Summaries!

    培根:读史使人明智 操作系统的简史 (1955-1965) 计算机非常昂贵,上古神机IBM7094 ,造价在250万美元以上 计算机使用原则:只专注于计算 批处理操作系统(Batch system) ...

  6. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  7. Nginx+uWSGI+Django原理

    Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...

  8. S5P4418 uboot 分析

    瘋耔新浪微博:   http://weibo.com/cpjphone 一: 1◑ 从链接脚本文件u-boot.lds('/opt/4418-source/android/u-boot' )中可以找到 ...

  9. u_boot启动过程中的具体分析(1)

    闭上眼睛,细致的回顾一下从NAND FLASH 启动的整个流程,首先,当我们打开板子的时候,先执行的就是嵌入在芯片上的iROM,它的作用就是为了把.NAND Flash 中的bootloader的一部 ...

随机推荐

  1. Linux —— 常见指令及其英文全称

    alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again Shell ...

  2. mongodb的几种启动方法

    1 mongodb的几种启动方法   启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的p ...

  3. HDU-2066-一个人的旅行 【Dijkstra】

    <题目链接> 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历, ...

  4. 一些数学上的概念理解(持续更新qwq)

    致敬百度百科qwq 本文摘自百度百科,只是对于信竞范围内的知识做一个小总结qwq,持续更新ing··· 满射: 如果每个可能的像至少有一个变量映射其上(即像集合B中的每个元素在A中都有一个或一个以上的 ...

  5. China Operating System 电脑操作系统 2016全球互联网排名

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 电脑操作系统 China Operating System 2016全球互联网排名 == ...

  6. hack the box-Access Writeup

    一.摘要 Acces是搭建在Windows平台上的一道CTF题目,探究服务器上的渗透测试 二.信息搜集 题目就只给出一个IP:10.10.10.98 首先通过Nmap进行端口方面的探测 nmap -s ...

  7. 10个提升MySQL性能的小技巧

    从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之 ...

  8. centos7 apache设置伪静态 开启rewrite_module

    设置伪静态除了要生成.htaccess文件外,还需要查看服务器是否开启了rewrite_module.经过一番的纠结,处理方法如下: 编辑Apache配置文件 nano /etc/httpd/conf ...

  9. IntelliJ IDEA全局内容搜索和替换

      在做项目时,有时会在整个项目里或指定文件夹下进行全局搜索和替换,这是一个很方便功能.使用方法如下: 一.全局搜索 1.使用快捷键Ctrl+Shift+F打开搜索窗口,或者通过点击Edit–> ...

  10. SPLIT_STR

    CREATE DEFINER=`root`@`%` FUNCTION `vir`.`SPLIT_STR`( x VARCHAR(1000), delim VARCHAR(12), pos INT) R ...