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容器内进程) 的相关文章

  • 在 Linux 中重新启动时,新创建的文件变为 0 kb(数据被覆盖为空)

    我遇到了一个奇怪的问题 这让我发疯 当前的任务是在 root 用户第一次登录时启动一组文件 并在同一用户第二次登录时启动另一组文件 我决定使用 profile 和 bashrc 文件 并在第一次登录期间发生的任务结束时重新加载 bashrc
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 是否可以显示正在运行的 Docker 容器的重启策略?

    当我创建容器时 我指定了重新启动策略 但这没有显示在docker ps 并且似乎也没有任何格式字符串显示这一点 有谁知道如何查看正在运行的容器的重启策略 是的 可以使用docker inspect这是json格式 只需要查询即可 这是正在运
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 从 Docker 容器发送多播数据包(到多播组)

    我有一个通过 UDP 多播发送消息的应用程序 我一直试图将其放在 docker 下 我在尝试从 Docker 容器发送多播数据包时遇到了很大的阻力 我已经能够通过 net host运行 docker 容器的选项 然而 我想坚持使用桥接配置
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 自动备份远程托管服务器的最佳实践

    我正在尝试设置一个用于团队笔记的服务器 我想知道自动备份其数据 又称我的笔记 的最佳方法是什么 目前我计划在 docker 镜像中运行服务器 docker 镜像将由托管服务 例如 Google 托管 我找到了一个适合我的需求的免费托管服务
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu

随机推荐

  • 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