专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Linux上使用supervisor完成守护进程的工作

  我们经常需要当一个进程挂了之后能自动被拉起来,保证服务正常运行,这时候可以考虑使用supervisor。概念
  supervisor是用Python开发的一套通用的进程管理程序(CS模型),可以方便的启动、重启、关闭单个或多个进程(包括非Python进程)。
  supervisor是类似于一个监管员,它在系统中是一个进程管理工具,当系统进程中断的时候supervisor能自动重新启动它。可以运行在各种类unix的机器上。
  supervisor是一个CS模型的程序,supervisord是server端,supervisorctl是client端。下载python3pip的离线安装包
  为了方便后面做离线安装包,这里将所有的依赖的包下载到本地,可以方便到无网络环境下安装。
  aptgetdownloadpython3pipaptcachedependsipython3pipawkDepends:{print2}xargsaptgetdownload
  aptgetdownloadpython3distutilsaptcachedependsipython3distutilsawkDepends:{print2}xargsaptgetdownload
  aptgetdownloadpython3setuptoolsaptcachedependsipython3setuptoolsawkDepends:{print2}xargsaptgetdownload
  aptgetdownloadpython3wheelaptcachedependsipython3wheelawkDepends:{print2}xargsaptgetdownload本地安装python3pip【不需要网络】
  dpkgipython3distutils3。10。6122。04all。deb
  dpkgipython3setuptools59。6。01。2all。deb
  dpkgipython3wheel0。37。12all。deb
  dpkgipython3pip22。0。2dfsg1all。deb下载supervisor并安装
  pip3downloadsupervisor4。2。5py2。py3noneany。whl
  pip3installsupervisor4。2。5py2。py3noneany。whl
  安装完成后,可以找到usrlocalbinsupervisorctl创建配置
  mkdirpetcsupervisordconf。d
  echosupervisordconfetcsupervisord。conf修改配置
  配置末尾的include注释,改为:
  vietcsupervisord。conf
  〔include〕
  filesetcsupervisorconf。d。ini;打开注释(;),将路径修改为etcsupervisordconf。d
  ;这句代码说明它会加载etcsupervisorconf。d文件夹中的所有。ini配置文件
  〔rootbogonetc〕vietcsupervisord。conf
  去掉注释前:;〔inethttpserver〕;inet(TCP)serverdisabledbydefault;port127。0。0。1:9001;ipaddress:portspecifier,:portforalliface;usernameuser;defaultisnousername(openserver);password123;defaultisnopassword(openserver)
  去掉之后:〔inethttpserver〕;inet(TCP)serverdisabledbydefaultport:9001;ipaddress:portspecifier,:portforallifaceusernameroot;defaultisnousername(openserver)passwordroot;defaultisnopassword(openserver)
  〔supervisord〕logfiletmpsupervisord。log;mainlogfile;defaultCWDsupervisord。loglogfilemaxbytes50MB;maxmainlogfilebytesb4rotation;default50MBlogfilebackups10;ofmainlogfilebackups;0meansnone,default10loglevelinfo;loglevel;defaultinfo;others:debug,warn,tracepidfiletmpsupervisord。pid;supervisordpidfile;defaultsupervisord。pidnodaemonfalse;startinforegroundiftrue;defaultfalsesilentfalse;nologstostdoutiftrue;defaultfalseminfds1024;min。availstartupfiledescriptors;default1024minprocs200;min。availprocessdescriptors;default200;umask022;processfilecreationumask;default022;usersupervisord;setuidtothisUNIXaccountatstartup;recommendedifroot;identifiersupervisor;supervisordidentifier,defaultissupervisor;directorytmp;defaultisnottocdduringstart;nocleanuptrue;dontcleanuptempfilesatstart;defaultfalse;childlogdirtmp;AUTOchildlogdir,defaultTEMP;environmentKEYvalue;keyvaluepairstoaddtoenvironment;stripansifalse;stripansiescapecodesinlogs;def。false;Therpcinterface:supervisorsectionmustremainintheconfigfilefor;RPC(supervisorctlwebinterface)towork。Additionalinterfacesmaybe;addedbydefiningtheminseparate〔rpcinterface:x〕sections。
  将;usersupervisord修改为userroot
  启动服务
  supervisordcetcsupervisord。conf
  启动完成后可以使用psefgrepsupervisor命令查看进程rootljdefaultstring:usrlocalSINOpackagepsefgrepsupervisorroot11593381016:46?00:00:00usrbinpython3usrlocalbinsupervisordcetcsupervisord。confroot1202622639110017:17pts100:00:00grepcolorautosupervisorrootljdefaultstring:usrlocalSINOpackage浏览器查看服务状态
  http:ip:9001然后输入用户名和密码
  即可登录supervisorweb管理页面,其界面如下
  配置文件详解;Samplesupervisorconfigfile。〔unixhttpserver〕filevarrunsupervisorsupervisor。sock;socket路径;chmod0700;socket文件的权限;chownnobody:nogroup;socket所属用户及组;usernameuser;用户名;password123;密码;〔inethttpserver〕;是否启用服务,默认是关闭的(启用的话可以看到supervisor管理的服务状态);port127。0。0。1:9001;监听的IP及端口;usernameuser;用户名;password123;密码〔supervisord〕;supervisord全局配置logfilevarlogsupervisorsupervisord。log;supervisor日志路径logfilemaxbytes50MB;单个日志文件最大数logfilebackups10;保留多少个日志文件(默认10个)loglevelinfo;(loglevel;defaultinfo;others:debug,warn,trace)pidfilevarrunsupervisord。pid;pid文件路径nodaemonfalse;启动是否丢到前台,设置为false,表示以daemon的方式启动minfds1024;最小文件打开数,对应系统limit。conf中的nofile,默认最小为1024,最大为4096minprocs200;最小的进程打开数,对应系统的limit。conf中的nproc,默认为200;umask022;(processfilecreationumask;default022);userchrism;启动supervisord服务的用户,默认为root;identifiersupervisor;(supervisordidentifier,defaultissupervisor);directorytmp;这里的目录指的是服务的工作目录;nocleanuptrue;(dontcleanuptempfilesatstart;defaultfalse);childlogdirtmp;(AUTOchildlogdir,defaultTEMP);environmentKEYvalue;(keyvaluepairstoaddtoenvironment);stripansifalse;(stripansiescapecodesinlogs;def。false);thebelowsectionmustremainintheconfigfileforRPC;(supervisorctlwebinterface)towork,additionalinterfacesmaybe;addedbydefiningtheminseparaterpcinterface:sections〔rpcinterface:supervisor〕supervisor。rpcinterfacefactorysupervisor。rpcinterface:makemainrpcinterface〔supervisorctl〕serverurlunix:varrunsupervisorsupervisor。sock;useaunix:URLforaunixsocket;serverurlhttp:127。0。0。1:9001;useanhttp:urltospecifyaninetsocket;usernamechris;shouldbesameashttpusernameifset;password123;shouldbesameashttppasswordifset;promptmysupervisor;cmdlineprompt(defaultsupervisor);historyfile。schistory;usereadlinehistoryifavailable;Thebelowsampleprogramsectionshowsallpossibleprogramsubsectionvalues,;createoneormorerealprogram:sectionstobeabletocontrolthemunder;supervisor。;〔program:theprogramname〕;定义一个守护进程,比如下面的elasticsearch;commandbincat;启动程序使用的命令,可以是绝对路径或者相对路径;processname(programname)s;一个python字符串表达式,用来表示supervisor进程启动的这个的名称,默认值是(programname)s;numprocs1;Supervisor启动这个程序的多个实例,如果numprocs1,则processname的表达式必须包含(processnum)s,默认是1;directorytmp;supervisord在生成子进程的时候会切换到该目录;umask022;umaskforprocess(defaultNone);priority999;权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999;autostarttrue;如果设置为true,当supervisord启动的时候,进程会自动启动;autorestarttrue;设置为随supervisord重启而重启,值可以是false、true、unexpected。false:进程不会自动重启;startsecs10;程序启动后等待多长时间后才认为程序启动成功,默认是10秒;startretries3;supervisord尝试启动一个程序时尝试的次数。默认是3;exitcodes0,2;一个预期的退出返回码,默认是0,2。;stopsignalQUIT;当收到stop请求的时候,发送信号给程序,默认是TERM信号,也可以是HUP,INT,QUIT,KILL,USR1,orUSR2;stopwaitsecs10;在操作系统给supervisord发送SIGCHILD信号时等待的时间;userchrism;如果supervisord以root运行,则会使用这个设置用户启动子程序;redirectstderrtrue;如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符;stdoutlogfileapath;把进程的标准输出写入文件中,如果stdoutlogfile没有设置或者设置为AUTO,则supervisor会自动选择一个文件位置;stdoutlogfilemaxbytes1MB;标准输出log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小;stdoutlogfilebackups10;标准输出日志轮转备份的数量,默认是10,如果设置为0,则不备份;stdoutcapturemaxbytes1MB;当进程处于stderrcapturemode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB;stdouteventsenabledfalse;如果设置为true,当进程在写它的stderr;stderrlogfileapath;把进程的错误日志输出一个文件中,除非redirectstderr参数被设置为true;stderrlogfilemaxbytes1MB;错误log文件达到多少后自动进行轮转,单位是KB、MB、GB。如果设置为0则表示不限制日志文件大小;stderrlogfilebackups10;错误日志轮转备份的数量,默认是10,如果设置为0,则不备份;stderrcapturemaxbytes1MB;当进程处于stderrcapturemode模式的时候,写入FIFO队列的最大bytes值,单位可以是KB、MB、GB;stderreventsenabledfalse;如果设置为true,当进程在写它的stderr到文件描述符的时候,PROCESSLOGSTDERR事件会被触发;environmentA1,B2;一个kv对的list列表;serverurlAUTO;是否允许子进程和内部的HTTP服务通讯,如果设置为AUTO,supervisor会自动的构造一个url;Thebelowsampleeventlistenersectionshowsallpossible;eventlistenersubsectionvalues,createoneormorereal;eventlistener:sectionstobeabletohandleeventnotifications;sentbysupervisor。这个地方是自定义一个守护进程〔program:elasticsearch〕;定义一个守护进程elasticsearchenvironmentESHOMEusrlocalelasticsearch;设置ESHOME环境变量userelk;启动elasticsearch的用户directoryusrlocalelasticsearch;进入到这个目录中commandusrlocalelasticsearchbinelasticsearch;执行启动命令numprocs1;Supervisor启动这个程序的多个实例,如果numprocs1,则processname的表达式必须包含(processnum)s,默认是1autostarttrue;设置为随supervisord启动而启动autorestarttrue;设置为随supervisord重启而重启startretries3;设置elasticsearch重启的重试次数priority1;权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999;〔eventlistener:theeventlistenername〕;commandbineventlistener;theprogram(relativeusesPATH,cantakeargs);processname(programname)s;processnameexpr(default(programname)s);numprocs1;numberofprocessescopiestostart(def1);eventsEVENT;eventnotif。typestosubscribeto(reqd);buffersize10;eventbufferqueuesize(default10);directorytmp;directorytocwdtobeforeexec(defnocwd);umask022;umaskforprocess(defaultNone);priority1;therelativestartpriority(default1);autostarttrue;startatsupervisordstart(default:true);autorestartunexpected;restartatunexpectedquit(default:unexpected);startsecs10;numberofsecsprogmuststayrunning(def。1);startretries3;maxofserialstartfailures(default3);exitcodes0,2;expectedexitcodesforprocess(default0,2);stopsignalQUIT;signalusedtokillprocess(defaultTERM);stopwaitsecs10;maxnumsecstowaitb4SIGKILL(default10);userchrism;setuidtothisUNIXaccounttoruntheprogram;redirectstderrtrue;redirectprocstderrtostdout(defaultfalse);stdoutlogfileapath;stdoutlogpath,NONEfornone;defaultAUTO;stdoutlogfilemaxbytes1MB;maxlogfilebytesb4rotation(default50MB);stdoutlogfilebackups10;ofstdoutlogfilebackups(default10);stdouteventsenabledfalse;emiteventsonstdoutwrites(defaultfalse);stderrlogfileapath;stderrlogpath,NONEfornone;defaultAUTO;stderrlogfilemaxbytes1MB;maxlogfilebytesb4rotation(default50MB);stderrlogfilebackups;ofstderrlogfilebackups(default10);stderreventsenabledfalse;emiteventsonstderrwrites(defaultfalse);environmentA1,B2;processenvironmentadditions;serverurlAUTO;overrideserverurlcomputation(childutils);Thebelowsamplegroupsectionshowsallpossiblegroupvalues,;createoneormorerealgroup:sectionstocreateheterogeneous;processgroups。;〔group:thegroupname〕;服务组管理,可以将多个服务名写到这里管理(组名自定义);programsprogname1,progname2;上面配置好的服务名,比如elasticsearch,kibana,logstash;priority999;therelativestartpriority(default999);The〔include〕sectioncanjustcontainthefilessetting。This;settingcanlistmultiplefiles(separatedbywhitespaceor;newlines)。Itcanalsocontainwildcards。Thefilenamesare;interpretedasrelativetothisfile。Includedfilescannot;includefilesthemselves。〔include〕filesetcsupervisord。d。ini;具体进程
  下面到了最关键步骤,自己定义一个ini文件,将需要守护的进程的配置放到
  etcsupervisorconf。d这个目录下,如下图〔program:mainsoundbelt〕userjetsondirectorymntaialgorithmcommandpython3mainsoundbelt。pyautostarttrueautorestarttruestartretries1redirectstderrtruestdoutlogfilemntaialgorithmlogmainsoundbelt。logstderrlogfilemntaialgorithmlogmainsoundbelt。logstdoutlogfilemaxbytes1MBstdoutlogfilebackups5nodaemontrueenvironmentOPENBLASCORETYPEARMV8,LDPRELOADmntaialgorithmlibscikitlearn。libslibgompd22c30c5。so。1。0。0
  注意上面的environment表示启动时需要的环境变量。修改项目配置文件后,重新加载rootljdefaultstring:usrlocalSINOpackagesupervisorctlreloadRestartedsupervisord
  启动成功可以在网页上面看到running的状态

马上就要大四了,请问考公考好还是考研好一些?大部分的大学生通常会有两个迷茫阶段一大一时候迷茫该怎么过大学生活。我国的高中生都是非常拼的,高考的竞争不是吹嘘出来的,如果想考一个普通大学,那录取率高达80左右那随便就可以上大学,公务员有前途吗?公务员未来还有优势吗?公务员有前途吗?答案是肯定的。但对前途的理解是因人而异的。因个体的条件,认知的差异,人们对自己人生有不同的心理预期。对那种济天下,救苍生的达者之志者来说,前途就是从一位普通的公务员开一个天猫旗舰店需要多少钱?这里我试着从不同的开店方式来回答你的问题,并且只谈前期的开店投入第一,向天猫提交入驻申请开店。1。保证金,根据店铺性质不同,店铺保证金金额如下旗舰店专卖店持商标注册受理通知书的店铺软件开发一般学什么?IT技术领域可以分为18个领域人工智能,云计算,大数据,区块链,物联网,设计,Web开发,移动开发,游戏开发,服务端开发,数据库,架构,测试,运维,网络管理,安全技术,认证考试,信为什么同工不同酬,请问为什么?我认为同工同酬是一个总体要求,是劳动法规定的工资分配应当遵循按劳分配原则,作为一个目标,从法律上理论上宏观上来讲是存在的,只要劳动者的工作岗位,工作内容相同在相同的工作岗位上付出了孩子长高主要原因是什么?我想回答一下这个问题。我儿子到10月2日满八岁,二年级,142cm,33kg,在班级和同龄人中个头偏高。我162,孩子爸爸172,遗传上他不占优势。孩子生下来5斤7两,先天基础也不有没有发现,自闭的孩子一般都比普通孩子长的更帅或者更漂亮?我的自闭症儿子还是挺帅气的!所以,他上小学后脑门正中摔了个大口子,落下个疤,我觉得很好,毁点容吧!我希望毁点容能换来脑子好使点。希望老天能把孩子的容貌收回去点,能换回来点脑子,丑一为什么有人说甄嬛传中同样是甄嬛嫁小妹,浣碧满头珠翠,玉娆却如此寒酸?宫廷宴会,浣碧设计之下被皇帝指婚给果郡王允礼为侧福晋,而甄嬛也顺水推舟将作为甄远道私生女的浣碧收为钮钴禄氏的义女,让其名正言顺认祖归宗。不过义女终究还是义女,名义上仍旧不是本家女儿刺激战场4指操作如何驾驭?相信不同鸡友,对指法的理解也会不一样。例如,有人把四指操作玩得6的,段位一定居高不下,但也有人把系统默认的二指操作上到了王牌甚至以上!而在刺激战场中,我们常见的指法除了系统默认的二十一去台湾旅游贵吗?台湾也放十一假吗?十一到台湾旅游不算贵,台湾十一不放假。不过,2017年的中秋节在10月4日,台湾放假一天。两岸的国庆日都在十月,一个是十一一个是双十。相差九天,所以,当大陆放十一长假时,台湾还是上我去过四川峨眉山的金顶,没有任何高原反应,那我去西藏会有高原反应吗?去过峨眉山金顶没有任何高原反应,那么去西藏会有高原反应吗?本人多次自驾车进藏,最长一次时间差不多有一个月呆在高原上活动,而其中一次在平均海拔超过4500米的阿里羌塘高原超过十五天,
苏州首个油氢电综合加能站投入使用,上汽借氢风加速发展2020年,中国确立了碳达峰碳中和的战略目标,双碳目标对于产业结构调整能源体系建设低碳交通运输体系与绿色城乡建设等方面做出部署。作为碳排放大户的汽车产业也在谋求多样化发展,在混动纯法治日报刊发邹平市阳光透明酬金制典型经验11月23日,法治日报对邹平市小区物业阳光透明酬金制管理模式进行宣传报道,全文如下阳光透明酬金制解开物业纠纷硬疙瘩记者探访城市小区治理邹平样板本报记者姜东良梁平妮物业服务不到位公共修特斯拉成新业务,通用汽车电动车业务将提前五年盈利据纽约时报报道,通用汽车近日宣布,预计到2025年在北美市场销售的电动汽车将实现稳定盈利,达到传统燃油车同等水平。这比通用汽车在去年承诺的2030年实现盈利提前了5年时间。内燃机时机构预计2023年新能源汽车销量增长31!逾30亿元大单资金涌入这些股票本报记者任世碧近期支持新能源汽车消费的利好政策不断,为板块企稳反弹提供助力。11月21日,工业和信息化部国家发展改革委国务院国资委联合印发关于巩固回升向好趋势加力振作工业经济的通知最新龙虎榜动向2。22亿资金抢筹九安医疗,机构和北向资金共同卖出以岭药业(名单)11月24日,上证指数下跌0。25,深证成指下跌0。15,创业板指下跌0。21。盘后龙虎榜数据显示,共有40只个股因当日异动登上龙虎榜,资金净流入最多的是九安医疗(002432。S前10月软件业务收入同比增10数据来源工信部制图蔡华伟本报北京11月24日电(记者王政)记者24日从工信部获悉前10月,我国软件和信息技术服务业运行态势平稳向好,软件业务收入84214亿元,同比增长10,增速较龙虎榜医药股再现上亿资金交易,九安医疗龙虎榜净买入2。21亿元,东方路大买2。82亿元以岭药业一龙虎榜净买入额排名11月24日龙虎榜出炉,一共有48家公司上榜。资金净流入最多的是九安医疗,周四涨停,龙虎榜净买入2。21亿元,换手率17。89。龙虎榜数据显示,1家机构净买入7藏不住了!西藏这座低调小城,一入冬就成了中国的北欧一入冬波密就成了真正的冰雪王国有人说全世界没有哪个地方像波密这样如此四季分明,又如此冰清玉洁所以不管是哪个季节来过这里你总想把它的四季都感受一次特别是冬天傲立千年的冰川尤为壮观每一上交所副总经理刘逖上交所四大举措布局ETF市场发展刘逖。资料图11月15日,在2022中国资产管理年会上,上海证券交易所副总经理刘逖在会上以创新ETF市场发展,拥抱时代新机遇为主题发表了演讲。今年以来,沪市ETF成交额已突破12。MTK天玑8200芯片规格曝光我国软件业务收入84214亿元芯闻速递两分钟了解芯片大事联发科天玑8200芯片规格曝光据爆料称,小米Redmi60系列手机和iQOONeo7SE将搭载该芯片。现在微博博主数码闲聊站曝光了天玑8200的关键规格,表明它们少儿美术一幅世界杯进球就画好啦1课程准备认识世界杯,你知道今年的世界杯是在哪里举行吗?世界杯的吉祥物叫什么名字呢?你有喜欢的球星吗?一起画画你看到的世界杯吧2工具准备白纸铅笔马克笔橡皮擦,黑色水笔。折纸,剪刀,
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网