linux配置supervisor

安装

pip install supervisor

生成配置文件

使用

echo_supervisord_conf > /etc/supervisord.conf

supervisord.ini配置文件修改

cd /etc/supervisord.conf
vim supervisord.conf

下面两行是该配置文件的最后不用修改,这里说下意思,表示的是/etc这个文件夹下.ini文件就是要启动的文件。

[include]
files = /etc/supervisor/*.ini

创建程序配置文件

下面就是需要运行的文件的配置,这个文件的位置是

/usr/local/etc/supervisor.d/spider.ini

command=/data/p2pSearch/start.sh
# 进程名
process_name=%(program_name)s
# 进程数
numprocs=1
# supervisor启动的时候是否随着同时启动,默认True
autostart=true
# 当程序exit的时候,这个program不会自动重启,默认unexpected
# 设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=true
# 这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
# 日志输出
stderr_logfile=/data/p2pSearch/logs/p2papp_err.log
stdout_logfile=/data/p2pSearch/logs/p2papp_out.log
#把 stderr 重定向到 stdout,默认 false
redirect_stderr = false
#stdout 日志文件大小,默认 50MB
stdout_logfile_maxbytes = 1024MB
stderr_logfile_maxbytes = 1024MB
#stdout 日志文件备份数
stdout_logfile_backups = 10
stderr_logfile_backups = 10

因为用了virtualenv运行程序所以我用了一个shell脚本,并给定读的权限

chmod 777 start.sh

start.sh内容如下

#! /bin/bash
cd /data/p2pSearch/
source p2p/bin/activate
python3 p2papp.py

运行

supervisord -c /etc/supervisord.conf

然后查看任务

supervisorctl

如果报错

 supervisorctl
error: <class 'socket.error'>, [Errno 13] Permission denied: file: /usr/lib64/python2.7/socket.py line: 224

查看

ps -ef |grep supervisor

然后杀掉进程

sudo pkill -f supervisord

查看任务

supervisorctl

重启 可以看到任务状态

[root@server supervisor]# supervisorctl
p2papp RUNNING pid 29931, uptime 0:00:09

表示成功了

linux配置supervisor的更多相关文章

  1. Linux配置Supervisor 配置遇到的坑

    在linux中web 应用部署到线上后之后发现退出终端后网站就无法访问了 所以需要用Supervisor来守护进程,它可以保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时 ...

  2. NetCore部署到Linux服务器+Supervisor的步骤及过程中踩过的坑

    本文作备忘使用 服务器配置: 下面是所有操作的具体步骤: 1.安装nginx   参考 1.1 添加源:默认情况Centos7中没有Nginx源,最近Nginx官网提供了Centos的源地址. sud ...

  3. Linux+Nginx+Supervisor部署ASP.NET Core实操手册

    一.课程介绍 在上一节课程<ASP.NET Core托管和部署Linux实操演练手册>中我们学过net core的部署方式多样性和灵活性.我们通过远程工具输入dotnet 程序集名称.dl ...

  4. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  5. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  6. linux配置hosts

    linux配置hosts linux下配置hosts和windows下其实就是一样的,找到文件在哪里就好 sudo vim /etc/hosts

  7. 配置Supervisor开机启动

    配置Supervisor开机启动: 新建一个"supervisord.service"文件 # dservice for systemd (CentOS 7.0+) # by ET ...

  8. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  9. Linux 配置本地yum源

    Linux 配置无网络状态利用yum安装软件 在有网络的情况下安装软件只需一条yum install xxx命令,例如安装gcc只需一条指令:yum install gcc  那么在没有网络的情况下该 ...

随机推荐

  1. flume常见异常汇总以及解决方案

    flume常见异常汇总以及解决方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际生产环境中,我用flume将kafka的数据定期的往hdfs集群中上传数据,也遇到过一系列的坑 ...

  2. 使用git 上传项目到gitee/github

    参考: https://blog.csdn.net/qq944639839/article/details/79864081 注意:在此之前需要设置ssh公匙 详见:Github/github 初始化 ...

  3. 042、用volume container 共享数据 (2019-03-05 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7188479.html   volume container 是专门为其他容器提供 volume 的容器,他提供的卷也可以 ...

  4. Kudu系列-基础

    Apache Kudu 支持Insert/Update/Delete 等写操作(Kudu 随机写效率也很高, 实测对一个窄表做全字段update, 其速度达到了Insert速度的88%, 而verti ...

  5. json中带有\r\n处理

    后台代码把换行符\r\n替换为\\r\\n,前台代码js收到的字符就是\r\n

  6. C# 获取当前路径方法整理

    https://www.cnblogs.com/tianma3798/p/6553863.html1. //获取包含清单的已加载文件的路径或 UNC 位置. public static string ...

  7. Webpack2学习记录-2

    这篇在 webpack-demo 目前下新建一个 w2 目录,学习 webpack.config.js 及 与 npm scripts 的使用. 1.w2 下新建一个 webpack.config.j ...

  8. Javaweb——————sql常用思维导图

  9. ****** 四十二 ******、软设笔记【软件知识产权保护】-Internet和Intranet基础

    知识产权保护 著作权法及实施条例 <中华人民共和国著作权法>及其实施条例,明确了保护文学.艺术和科学作品作者的著作权,以及与其相关的权益. 依据改法,我国不仅对文字产品,口述作品,音乐.戏 ...

  10. arcgis中的geodatabase模型

    简介Geodatabase是ESRI公司定义的一个为ArcGIS所用的数据框架,该框架定义了ArcGIS中用到的所有的数据类型.不管ArcGIS的数据存储到何处.以什么格式存储,都脱离不了该框架.也可 ...