linux的守护进程类似于windows的服务。linux通过supervisor创建守护进程。https://blog.csdn.net/u014115673/article/details/54601800

1、安装supervisor

sudo apt-get install supervisor -- ubuntu
yum install -y supervisor -- centos

安装成功后,supervisor就会默认启动,也会随系统启动。

CentOS安装完成之后,默认不启动,可以使用脚本启动:

/usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

2、有很多添加守护进程的方法,下面介绍一种最好用的一种,将每个进程的配置文件单独拆分,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名。

[program:OC]
command=dotnet /home/Documents/OC/OC.Service.dll #被监控的进程启动命令 /home/Documents/Lottery.OC 可以省略不写
numprocs= #启动进程的数量
startsecs=1
directory=/home/Documents/OC/ #脚本所在的目录
autostart=true #是否随supervisor启动 默认为true
autorestart=true #是否自动重启 三个选项false、unexpected、true,若为false,无论什么情况下都不自动重启;若为unexpected,只有进程退出码不在exitcodes里面时才重启
startretries= #启动失败后的重试次数
exitcodes= #正常退出代码
stopsignal=KILL #用来杀死进程的信号
stopwaitsecs= #发送stopsigal前的等待时间
redirect_stderr=true #重定向stderr到stdout
stdout_logfile=logfile #指定日志文件
user=wangwust #脚本以什么用户身份运行

这样子就创建好了守护进程:OC

3、web操作界面创建

在supervisor的配置文件supervisord.conf中添加一下代码

[inet_http_server]
port=0.0.0.0:
username=user
password=

4、supervisor常用命令

supervisorctl version     #查看supervisor版本
supervisorctl start OC #启动进程OC
supervisorctl stop OC #停止进程OC
supervisorctl start all #启动所有进程
supervisorctl stop all #停止所有进程
supervisorctl status #查看所有进程状态
supervisorctl reload #载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。

5、supervisor启动和停止的日志文件存放在/var/log/supervisor/supervisord.log

注意:显式用stop停止掉的进程,用reload或者update都不会自动重启。

【Linux】- Ubuntu守护进程supervisor的更多相关文章

  1. asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

    原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...

  2. .net core linux的守护进程 supervisor

    这个介绍的很全面,对初学者来说可以有更好的认识: https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

  3. 基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)

    本篇文章给大家带来的内容是关于基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 公司需要实现X分钟内每隔Y秒 ...

  4. python实现Linux启动守护进程

    python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...

  5. linux 创建守护进程的相关知识

    linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...

  6. linux C守护进程编写

    linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件.守护进程是一种很有用的进程. Linux的大多数服 ...

  7. 【Linux】- 守护进程的启动方法

    转自:Linux 守护进程的启动方法 Linux中"守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问 ...

  8. Ubuntu安装守护进程supervisor

    Supervisor安装与配置(Linux/Unix进程管理工具) asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel) 为了保证服务能够稳定 ...

  9. Ubuntu 守护进程

    项目中用的Qt开发的GUI程序,需要随机自启动. 最初尝试过使用SuperVisor,但是会出现下面的错误. qt.qpa.screen: QXcbConnection: Could not conn ...

随机推荐

  1. apache上.htaccess转向nginx上配置.htaccess伪静态规则

    nginx上配置.htaccess伪静态规则 在apache上.htaccess转向,只要apache编译的时候指明支持rewrite模块即可. 但是换到nginx上方法会有不同,有人说把.htacc ...

  2. ruby配置镜像源

    1.打开电脑的cmd窗口,输入如下命令即可查看gem镜像: gem sources l 或是直接使用 gem sources 查询结果如下: C:\Users\Administrator>gem ...

  3. 函数调用方法之__cdecl与_stdcall

    在debug VS c工程文件时,碰到cannot convert from 'int (__cdecl *)(char *)' to 'xxx'这个问题,发现问题在于typedef函数指针类型时,将 ...

  4. C++ 数组复制

    参考:https://blog.csdn.net/huangxiaohui123/article/details/81984175 补充: int tu[N][N],dis[N][N]; memcpy ...

  5. LeetCode初级算法的Python实现--链表

    LeetCode初级算法的Python实现--链表 之前没有接触过Python编写的链表,所以这里记录一下思路.这里前面的代码是和leetcode中的一样,因为做题需要调用,所以下面会给出. 首先定义 ...

  6. The Git Parable:Git传说(转)

    The Git Parable:Git传说 -------- 毛球子好为人师 原文地址:http://tom.preston-werner.com/2009/05/19/the-git-parable ...

  7. 北京Uber优步司机奖励政策(3月16日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  8. Windows Server 2008 R2 安装域

    在Windows Server 2008 R2里面安装域. 1.首先在"服务"里面添加"角色": 2.选择对应的域角色 3.安装完成后要启动配置向导 4.选择新 ...

  9. sqlserver 循环赋值变量

    sql server 是可以用 @变量 +=值的: 第一:必须在循环里面, 第二: 必须在循环外面初始化变量的值 如:  @变量=''; 这样才能循环给值

  10. 容器云技术:容器化微服务,Istio占C位出道

    在精彩的软件容器世界中,当新项目涌现并解决你认为早已解决的问题时,这感觉就像地面在你的脚下不断地移动.在许多情况下,这些问题很久以前被解决,但现在的云原生架构正在推动着更大规模的应用程序部署,这就需要 ...