zoukankan      html  css  js  c++  java
  • linux centos 8 为.net core 添加进程守护 Supervisor

    在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。

    守护进程(daemon)是指在后台运行的,没有控制终端与之相连的进程。它独立于控制终端,周期性地执行某种任务。Linux的大多数服务器就是用守护进程的方式实现的。如web服务器进程http等。守护进程在后台运行,类似于Windows中的系统服务。

    实现守护进程的软件有很多, 这次简单讲解Supervisor的使用

    1. 安装

    yum install supervisor

     2. 编辑配置文件 在 /etc/supervisord.d 创建 xxx.ini 文件, 注意输出日志文件需要先创建一个,否则可能启动不了

    #配置程序名称
    [program:xxxx]
    #运行程序的命令
    command=dotnet xxxx.dll --urls="http://*:8010;"
    #命令执行的目录
    directory=/usr/dotnetcore/xxxx
    #进程环境变量
    environment=ASPNETCORE_ENVIRONMENT=Production
    #进程执行的用户身份
    user=root
    #进程停止信号,可以为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号默认为TERM 。当用设定的信号去干掉进程,退出码会被认为是expected,非必须设置
    stopsignal=INT
    #如果是true的话,子进程将在supervisord启动后被自动启动,默认就是true,非必须设置
    autostart=true
    #这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的退出码的时候,才会被自动重启。当为true的时候,只要子进程挂掉,将会被无条件的重启
    autorestart=true
    #这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了,默认值为1 。非必须设置
    startsecs=1
    #错误日志文件
    stderr_logfile=/var/log/xxxx/xxxx.err.log
    #输出日志文件
    stdout_logfile=/var/log/xxxx/xxxx.out.log

    3. 启动守护进程

    systemctl start supervisord

    4. 检查一下结果

    ps -aux | grep "xxxx.dll"

    5. 将守护进程添加到开机自启

    systemctl enable supervisord

    这样下一次就会开启自启

  • 相关阅读:
    穿戴式眼镜显示屏方案
    centos8 shell脚本定时restart workerman问题
    cmake中文文档(一)-编译命令行工具
    Dear ImGui中文文档(一)
    PHP实现布隆过滤算法
    case when的记录
    前端的一些记录
    z-index 弹出元素被原本页面的元素遮挡住
    DevExpress 导出pdf中文不显示或者乱码问题
    DevExpress控件位置的微调
  • 原文地址:https://www.cnblogs.com/fancyblogs/p/14121685.html
Copyright © 2011-2022 走看看