• supervisor 配置程序挂起自启动


    使用 supervisor 服务,将程序监控起来,如果程序挂掉了,可以实现自启动

    编写 c++ 程序 test.c

    #include <stdio.h>
    #include <string.h>
    
    int main(){
            FILE *fp = fopen("./1.txt","a+");
            if(fp==0){
                    printf("can't open file
    ");
                    return 0;
            }
    
            int ix = 0;
            for(;;ix++){
                    fseek(fp,0,SEEK_END);
                    char s_add_arr[10];
                    memset(s_add_arr,'',10);
                    sprintf(s_add_arr,"%i
    ",ix);
                    fwrite(s_add_arr,strlen(s_add_arr),1,fp);
    
                    sleep(1);
            }
            fclose(fp);
            return 0;
    }

    启动服务

    supervisord  -c /etc/supervisord.conf

    # 使用了默认的配置文件 在 /etc/ 下

    要给需要自拉起的程序添加配置文件 默认放在 /etc/supervisor.d/ 目录下,以 .conf 文件结尾

    测试程序为 test.conf

    [program:test]
    command=/home/jingchanglin/code/test/test
    autostart=true
    autorestart=true
    startsecs=10
    priority=1
    redirect_stderr=true
    stdout_logfile_maxbytes=50MB
    stdout_logfile_backups=10
    stdout_logfile=/home/jingchanglin/code/test/app.log

    服务启动后,可以使用 supervisorctl 命令来进入控制台

    [root@localhost]# supervisorctl
    sshd                             RUNNING   pid 28606, uptime 0:02:42
    test                             RUNNING   pid 28605, uptime 0:02:42
    supervisor> help
    
    default commands (type help <topic>):
    =====================================
    add    exit      open  reload  restart   start   tail   
    avail  fg        pid   remove  shutdown  status  update 
    clear  maintail  quit  reread  signal    stop    version
    
    supervisor> 

    进入之后,看到的是在监控的程序的名称

    使用 help 可以看服务支持哪些自命令

    一般常用的包括

    reload

    重新加载,这样某个新添/删除的服务就可以看到了

    shutdown 关闭某个程序

    start 启动某个程序

  • 相关阅读:
    MariaDB:SSL配置
    JDBC连接MariaDB:数据传输加密
    海康JAVA SDK库动态路径加载
    druid:java代码创建连接池
    webservice:com.sun.xml.internal.ws.server.ServerRtException: [failed to localize]
    RabbitMQ:MSVCR120.dll ,c000001d 错误
    mariadb:分区自动创建与删除
    前-后 分离 01
    03 注解开发
    02
  • 原文地址:https://www.cnblogs.com/oftenlin/p/9479553.html
Copyright © 2020-2023  润新知