zoukankan      html  css  js  c++  java
  • 【Python】使用Supervisor来管理Python的进程

    来源 : http://blog.csdn.net/xiaoguaihai/article/details/44750073

     
     

     1.问题描述

        需要一个python的服务程序在后台一直运行,不能让该进程被杀死,即使被杀死也要能及时自动重启。如:有一个python的程序:test.py ,通过命令:python test.py来运行程序,但是它会受命令行的中断而中断。所以我们需要一个方法来保证该程序一直在后台运行。

    2.解决方法

    以前经常用命令:nohup python test.py & 来保证其在后台运行不中断,但是这也不能保证一直运行。

    下面介绍用supervisor来管理python的进程,保证其在后台一直运行不中断。

    (1)安装supervisor

    在命令行输入:sudo apt-get install supervisor  来安装supervisor

    测试安装是否成功,在命令行输入:supervis 再按tab键,看其是否能补全命令:supervisor,如果能则表示安装成功

    (2)配置supervisord.conf文件

    找到supervisord.conf配置文件,一般在/etc/ 目录下,或者在/etc/supervisor/ 目录下,用root权限打开该文件:sudo vim supervisord.conf,否则不能进行修改。

    在文件末尾添加如下几行:

    [program:myProgram]

    command=python /home/myname/test.py

    autostart=true

    autorestart=ture

    stdout_logfile=/home/myname/test.log

    注释:第一行的myProgram自己取个名字,表示你的项目就行

    第二行的python /home/myname/test.py表示你运行程序的命令

    第三行表示自动启动,如果值为false则表示不自动启动

    第四行表示自动重启,如果值为false则表示不自动重启

    最后一样表示程序打印出的信息都记录在该test.log文件内,是log文件

    (3)使用supervisor

    配置完之后,命令行输入:sudo supervisord  就可以了。

    你可以kill掉你程序的进程,然后再看,发现它自动重启了,不用担心会被kill掉。

  • 相关阅读:
    在PHP语言中使用JSON
    PHP中生成json信息的方法
    Oracle 11g数据库详细安装步骤图解
    spring data jpa
    missing artifact com.oracle:ojdbc14:jar:10.2.0.2.0解决办法
    HDU 2841 Visible Trees
    LightOJ 1348 Aladdin and the Return Journey
    FZU 2082 过路费
    BZOJ 1036: [ZJOI2008]树的统计Count
    BZOJ 2243: [SDOI2011]染色
  • 原文地址:https://www.cnblogs.com/chens-smile/p/4552156.html
Copyright © 2011-2022 走看看