supervisor 配置程序掛起自啓動

使用 supervisor 服務,將程序監控起來,若是程序掛掉了,能夠實現自啓動c++

編寫 c++ 程序 test.capp

#include <stdio.h>
#include <string.h>

int main(){
        FILE *fp = fopen("./1.txt","a+");
        if(fp==0){
                printf("can't open file\n");
                return 0;
        }

        int ix = 0;
        for(;;ix++){
                fseek(fp,0,SEEK_END);
                char s_add_arr[10];
                memset(s_add_arr,'\0',10);
                sprintf(s_add_arr,"%i\n",ix);
                fwrite(s_add_arr,strlen(s_add_arr),1,fp);

                sleep(1);
        }
        fclose(fp);
        return 0;
}

啓動服務ssh

supervisord  -c /etc/supervisord.conf測試

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

要給須要自拉起的程序添加配置文件 默認放在 /etc/supervisor.d/ 目錄下,以 .conf 文件結尾spa

測試程序爲 test.confrest

[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 命令來進入控制檯code

[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> 

 

進入以後,看到的是在監控的程序的名稱blog

使用 help 能夠看服務支持哪些自命令rem

通常經常使用的包括

reload

從新加載,這樣某個新添/刪除的服務就能夠看到了

shutdown 關閉某個程序

start 啓動某個程序

相關文章
相關標籤/搜索