; The below sample program section shows all possible program subsection values,
; create one or more 'real' program: sections to be able to control them under
;[program:theprogramname]
;command=/bin/cat ; 指定要运行的命令
;process_name=%(program_name)s ; 指定进程名称(默认是 %(program_name)s),这个名称与“numprocs”的值有关,如果“numprocs=1”说明只给它开一个进程,一个进程的名称直接跟“program_name”相同即可(program_name就是中括号中“program:”后面那个名称),但如果“numprocs”不等于1,也就是进程不只有一个,那就不能写“%(program_name)s ”了,因为多个进程的名称明显不能相同。具体怎样写,由于我刚开始用,还没研究。
;directory=/tmp ; 执行程序前要切换到的目录
;umask=022 ; 进程创建的文件拥有的权限(注意不是进程本身的权限,而是进程生成的文件,比如进程会产生log文件,这个umask的值就是这个log文件的权限)
;priority=999 ; 优先级,因为supervisor可以管理很多程序,即我们可以配置先多个[program:redis],[program:nginx]等等,因为有多个,那么程序启动就要分先后,这个priority就是指定先后的,数字越小,优先级越高。 (默认 999)
;autostart=true ; 是否自动启动?自动启动的意思是当启动supervisord守护进程的时候,是否要启动该程序 (默认: true)
;autorestart=true ; 如果程序运行过程中意外退出了,是否要自动重启它? (默认: true)
;startsecs=10 ; 指定程序启动后要保持启动状态几秒才能认为它确实已经启动成功了 (默认1秒),因为有些程序可能由于某些原因,启动两三秒后又突然退出,这显然不能认为已经启动了。
;startretries=3 ; 如果启动失败重试的次数 (默认 3次)
;exitcodes=0,2 ; '期望的' 进程退出码 (默认为 0,2)
;stopsignal=QUIT ; 进程停止信号,可以为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号(Linux的知识),默认为TERM ,当用设定的信号去干掉进程,退出码会被认为是expected的,即会被认为是正常退出(比如你执行了stop),而不是意外退出。 (默认 TERM)
;stopwaitsecs=10 ; 是当我们向子进程发送stopsignal信号后,到系统返回信息给supervisord,所等待的最大时间。 超过这个时间,supervisord会向该子进程发送一个强制kill的信号。 (默认10秒)
;user=chrism ; 设置以哪个用户去运行,这个我猜你必须要用root权限运行supervisord,这里的设置才有效
;redirect_stderr=true ; 重定向标准错误输出到标准输出流 (默认 false)
;stdout_logfile=/a/path ; 标准输出日志路径, 如果设置为“NONE”表示不指定,默认是“AUTO”
;stdout_logfile_maxbytes=1MB ; 标准输出日志文件最大值,超过后会重新创建一个新的文件 (默认 50MB)
;stdout_logfile_backups=10 ; # 因为日志一直在输出,单个日志超过stdout_logfile_maxbytes设置的大小后,将会创建一个新文件接收日志,这样日志肯定会越来越多, stdout_logfile_backups配置项就是用于设置最多能有多少个日志文件,如果超出了,那么最先生成的文件将会被删除(默认 10)
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
;stdout_events_enabled=false ; 当设置为ture的时候,当子进程由stdout向文件描述符中写日志的时候,将触发supervisord发送PROCESS_LOG_STDOUT类型的event。 (默认 false)
;stderr_logfile=/a/path ; 与stdout_logfile类似
;stderr_logfile_maxbytes=1MB ; 与stdout_logfile_maxbytes类似 (默认 50MB)
;stderr_logfile_backups=10 ; # 与stdout_logfile_backups类似 (默认 10)
;stderr_capture_maxbytes=1MB ; 这个东西是设定capture管道的大小,当值不为0的时候,子进程可以从stdout发送信息,而supervisor可以根据信息,发送相应的event。(默认 0,表示关闭管道)
;stderr_events_enabled=false ; 设置为ture的时候,当子进程由stdout向文件描述符中写日志的时候,将触发supervisord发送PROCESS_LOG_STDOUT类型的event。(默认 false)
;environment=A=1,B=2 ; 这个是该子进程的环境变量,和别的子进程是不共享的 (默认无)
;serverurl=AUTO ; override serverurl computation (childutils)