• 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

    这样下一次就会开启自启

  • 相关阅读:
    jdk和jre是什么?都有什么用?(转帖)
    滚动栏范围位置函数(SetScrollRange、SetScrollPos、GetScrollRange、GetScrollPos)
    C#异步调用
    编译hadoop2.2.0源码时报错
    项目中登陆页面的显示
    VB读写Excel
    C socket demo
    java设计模式----单例模式
    poj3358数论(欧拉定理)
    Java实现 蓝桥杯VIP 算法训练 排列问题
  • 原文地址:https://www.cnblogs.com/fancyblogs/p/14121685.html
Copyright © 2020-2023  润新知