linux supervisor 配置及管理进程(包含docker容器内进程)

2023-11-19

按上篇文章,安装好supervisor之后。

一、首先找到supervisord.conf目录,一般在/etc/supervisord.conf。

如果找不到,可以使用命令

sudo find /etc -name supervisord.conf

查找一下。

二、可以配置文件分开,也可以合在一起,以下是合在一起了

touch my_script.ini #创建配置文件
vim my_script.ini #进入文件里进行编辑

#配置文件里内容

[program:my_script]
command=./root/my_script.sh #这是宿主机的脚本 
autostart=true
autorestart=true
redirect_stderr=true

[program:my_php]
command=docker exec php php wd.php #这是php容器里的php脚本
autostart=true
autorestart=true
redirect_stderr=true

三、

1.my_script.sh脚本文件

#!/bin/bash

while true; do
    date "+%Y-%m-%d %H:%M:%S" >> bbb
    sleep 3
done

注:以上是一个测试用的脚本,每3秒会往bbb文件写入当前日期时间

记得要给my_script.sh加可执行权限,命令:chmod +x my_script.sh

这个文件在宿主机root目录下

2.wd.php 脚本 

<?php
$filename = './file.txt';

// 无限循环,每隔7秒写入当前日期
while (true) {
    $date = date('Y-m-d H:i:s') . PHP_EOL;
    file_put_contents($filename, $date, FILE_APPEND);

    // 等待7秒
    sleep(7);
}

注:以上是一个测试用的脚本,每7秒会往file.txt文件写入当前日期时间

记得要给my_script.sh加可执行权限,命令:chmod +x file.txt

这个文件在php容器www目录下

三、执行上篇讲到的命令

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status

 可以看到以下守护的进程

四、测试

1.my_script脚本

ps -ef | grep my_script

可以看到my_script脚本已经起来了 

使用kill 【进程id】将进程杀掉,还会起来。

可以看到生成的文件(宿主机)

 

 2.wd脚本

在容器里,使用kill 【进程id】将进程杀掉,还会起来。

可以看到生成的文件(容器里)

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux supervisor 配置及管理进程(包含docker容器内进程) 的相关文章

随机推荐

  • C++中#ifndef, #define, #endif的作用和使用的注意事项

    在C 语言编程中 我们经常会接触到头文件 比如说声明类 或者声明命名空间等 而每次在编写xxx h的头文件时 编程书上都会让我们在代码的前后加上如下的三句代码 ifndef XXX H define XXX H endif 其中 代表中间具
  • DDP入门

    DDP 即动态动态规划 可以用于解决一类带修改的DP问题 我们从一个比较简单的东西入手 最大子段和 带修改的最大子段和其实是常规问题了 经典的解决方法是用线段树维护从左 右开始的最大子段和和区间最大子段和 然后进行合并 现在我们换一种方法来
  • 软件测试人员必备的60个测试工具清单,果断收藏了!

    据统计 中国软件外包市场的潜力和机会已远远超过软件王国印度 不过由于软件人才的严重不足致使我国软件发展遭遇 瓶颈 国家为了大力培养软件人才 不断采取积极有效的措施 我国对软件测试人才的需求数量还将持续增加 因此软件测试工程师也就成为了IT职
  • golang ---JSON-ITERATOR 使用

    jsoniter json iterator 是一款快且灵活的 JSON 解析器 Jsoniter 是最快的 JSON 解析器 它最多能比普通的解析器快 10 倍之多 独特的 iterator api 能够直接遍历 JSON 极致性能 0
  • 《图像分割Unet网络分析及其Pytorch版本代码实现》

    最近两个月在做学习图像分割方面的学习 踩了无数的坑 也学到了很多的东西 想了想还是趁着国庆节有时间来做个总结 以后有这方面需要可以来看看 神经网络被大规模的应用到计算机视觉中的分类任务中 说到神经网络的分类任务这里不得不提到CNN 卷积神经
  • 低代码,虽然有点毒瘤,但管用就好

    最近看到不少低门槛开发软件应用的新闻 30 分钟搭一款核酸检测登记应用 2 小时紧急上线抗疫求助应用 00 后低代码开发者毕业月薪过万 等等 近期 广西防城港市出现疫情 全市展开一轮大规模核酸检测 柳钢工人彭期文在钉钉上仅用 30 分钟就通
  • Sqli-labs靶场详细攻略Less 29-33

    Less 29 33 Less 29 GET Error based IMPIDENCE MISMATCH Having a WAF infront of web application 这一关在web应用前有一个waf 在关卡列表界面直接
  • Linux系统服务之inetd

    inetd进程介绍 inetd程序是一个Linux守护进程 您可能已经知道守护进程是一些特殊的程序 它们在被启动之后 自愿放弃对调用自己终端的控制权 守护进程与系统其余部分的接口只有依靠进程间通信 Interprocess Communic
  • sourcegraph下载安装介绍

    https chrome google com webstore detail sourcegraph dgjhfomjieaadpoljlnidmbgkdffpack related 1 打开chrome 打开以上网页 翻墙 页面右上角点
  • 解决问题:error: ‘QStringLiteral’ was not declared in this scope

    QT编译出现如下问题 error QStringLiteral was not declared in this scope resmodel gt setHorizontalHeaderLabels QStringList lt
  • CUDA 程序运行时 CPU 100%的一个解决方法

    CUDA 程序运行时CPU 100 的问题有点让人头痛 在实验过程中调用了kernel函数后 再调用cudaMemcpyAsync 但发现在还有会到block在这个所谓的async api strace 跟了一下 发现99 999 都是 c
  • Python中的None

    一 None None是python中的一个特殊的常量 表示一个空的对象 数据为空并不代表是空对象 例如空列表 等都不是None None有自己的数据类型NontType 你可以将None赋值给任意对象 但是不能创建一个NoneType对象
  • 在微信小程序上使用 mqtt

    大家知道 微信小程序的websocket API他们自己定制了 这样一些运行在浏览器里的库默认是运行不了的 比如mqttjs这个库 https github com mqttjs MQTT js 由于搜狗公司兄弟团队的一个微信小程序要跑mq
  • 强化学习实践三 :编写通用的格子世界环境类

    gym里内置了许多好玩经典的环境用于训练一个更加智能的个体 不过这些环境类绝大多数不能用来实践前五讲的视频内容 主要是由于这些环境类的观测空间的某个维度是连续变量而不是离散变量 这是前五讲内容还未涉及到的知识 为了配合解释David Sil
  • CDH6 开启kerberos Hive的Sentry 用户权限分配

    Apache Sentry是Cloudera公司发布的一个Hadoop开源组件 截止目前还是Apache的孵化项目 它提供了细粒度级 基于角色的授权以及多租户的管理模式 Sentry当前可以和Hive Hcatalog Apache Sol
  • linux的/proc /sys目录的区别

    内核中有三个常用的伪文件系统 procfs debugfs和sysfs procfs The proc filesystem is a pseudo filesystem which provides an interface to ker
  • 碰撞检测之OBB-OBB检测

    碰撞检测之OBB OBB检测 2016年03月07日 02 20 14 阅读数 3732 2D情况 首先回顾一下SAP 两个凸包多边形 当且仅当存在一条线 这两个多边形在这条线上的投影不相交 则这两个多边形也不相交 这条线称为Separat
  • 编译器报:lambda表达式中使用的变量应为final或有效final 解决方案

    目录 问题描述 原因分析 解决方案 1 声明为final 2 使用有效final 4 使用数组或集合 错误问题的最终解决示例 总结 问题描述 今天在写代码的过程中想要在stream map 方法内部对外部变量进行赋值 结果发现编译器报错 提
  • 一个快速实现彩屏应用的跨平台快速原型开发工具平台,最重要的是还免费!8ms.xyz平台原以为是单片机版墨刀,今天上去玩了才知道平台厉害的很,基于WEB端免搭建开发环境,跑的还是C代码编译出来的程序!

    哈哈哈哈 最近发现一个好用的在线编译 下载 烧录的跨平台快速原型开发工具平台 名字好记 8ms 单看名字是真的不知道干嘛的 不知道为啥叫这个 不多想了 好用就得分享给大家 独乐乐不如众乐乐呀 好用的地方到底在哪里呢 一 免开发环境搭建 省时
  • linux supervisor 配置及管理进程(包含docker容器内进程)

    按上篇文章 安装好supervisor之后 一 首先找到supervisord conf目录 一般在 etc supervisord conf 如果找不到 可以使用命令 sudo find etc name supervisord conf