1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ;[program:HelloSupervisor] 是被管理的进程配置参数,HelloSupervisor 是进程的名称 [program:HelloSupervisor] environment=JAVA_HOME=/opt/jdk1.8.0_241/bin ; 这里可以创建环境变量 directory=/opt/HelloSupervisor ; 程序的启动目录 command=/opt/jdk1.8.0_241/bin/java -Xms512m -Xmx1024m -Dspring.profiles.active=prd -Dserver.port=8080 -jar /opt/HelloSupervisor/HelloSupervisor.jar ; 启动命令,可以看出与手动在命令行启动的命令是一样的 autostart=true ; 在 supervisord 启动的时候也自动启动 startsecs=10 ; 启动 10 秒后没有异常退出,就表示进程正常启动了,默认为 1 秒 autorestart=true ; 程序退出后自动重启 , 可选值:[unexpected,true,false],默认为 unexpected,表示进程意外杀死后才> 重启 startretries=3 ; 启动失败自动重试次数,默认是 3 user=root ; 用哪个用户启动进程,默认是 root priority=999 ; 进程启动优先级,默认 999,值小的优先启动 redirect_stderr=true ; 把 stderr 重定向到 stdout,默认 false stdout_logfile_maxbytes=20MB ; stdout 日志文件大小,默认 50MB stdout_logfile_backups = 20 ; stdout 日志文件备份数,默认是 10 ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件) stdout_logfile=/opt/HelloSupervisor/logs/log.log stopasgroup=false ;默认为 false, 进程被杀死时,是否向这个进程组发送 stop 信号,包括子进程 killasgroup=false ;默认为 false,向进程组发送 kill 信号,包括子进程 stopsignal=TERM ; 杀死进程的信号量:kill -9:KILL; kill -2:INT; kill -15:TERM 默认配置
stopscript=stop_script.sh ; 当进行停止的脚本 stopwaitsecs=10 ; 定义 Supervisor 等待进程停止的时间 command_stop=echo "Stopping process..." ; 定义在停止进程之前执行的命令 command_start=echo "Starting process..." ; 定义在启动进程之前执行的命令 command_restart=echo "Restarting process..." ; 定义在重启进程之前执行的命令 command_reload=echo "Reloading process..." ; 定义在重新加载进程之前执行的命令 numprocs=1 ; 定义要启动的进程实例数量 numprocs_start=1 ; 定义启动的进程实例的起始编号
|