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. 想要进步,就要阅读大神的博客,再推荐一波springmvc映射路径之url的action请求

    http://www.cnblogs.com/liukemng/p/3726897.html

  3. bzoj4946: [Noi2017]蔬菜 神烦贪心

    题目链接 bzoj4946: [Noi2017]蔬菜 题解 挺神的贪心 把第次买的蔬菜拆出来,记下每种蔬菜到期的日期,填第一单位蔬菜比其他的要晚 按价格排序后,贪心的往前面可以填的位置填就可以了.找可 ...

  4. POJ.2065.SETI(高斯消元 模线性方程组)

    题目链接 \(Description\) 求\(A_0,A_1,A_2,\cdots,A_{n-1}\),满足 \[A_0*1^0+A_1*1^1+\ldots+A_{n-1}*1^{n-1}\equ ...

  5. full GC触发的条件

    full GC触发的条件除直接调用System.gc外,触发Full GC执行的情况有如下四种.1. 旧生代空间不足旧生代空间只有在新生代对象转入及创建为大对象.大数组时才会出现不足的现象,当执行Fu ...

  6. JavaScript简易教程

    这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScript的世界——前提是你有一些编程经验的话.本文试图描述这门语言的最小子集.我给这个子集起名叫做“Java ...

  7. Android Studio 使用过程遇到的坑

    最近在尝试Android Studio打Jar的包,然而事实并不是想象的那么简单,so,写多个坑的解决,以备不时之需. 1.Error:Execution failed for task ':app: ...

  8. Unity3d脚本编程_

    UnityEngine.Component引入了新的成员,如下:                                                         新引入的成员     ...

  9. keybd_event 被 SendInput 替代

    keybd_event   函数功能:该函数合成一次击键事件.系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息,键盘驱动程序的中断处理程序调用keybd_event函数.在 ...

  10. 奇怪吸引子---RayleighBenard

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...