进程管理

supervisor进程管理程序

我们两清 提交于 2020-03-30 20:45:38
一.supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。 注意: supervisor在docker里管理多个进程十分方便 二.安装 1.通过python pip安装 yum install python-setuptools easy_install pip pip install supervisor 2.创建配置文件夹 mkdir /etc/supervisor 主配置文件夹 mkdir /etc/supervisor/conf.d 子进程文件夹 mkdir /etc/supervisor/pid 主进程pid mkdir /etc/supervisor/run 主进程socket 3.创建supervisor 主配置文件 vim /etc

supervisor进程管理程序

人盡茶涼 提交于 2020-03-30 20:45:30
一.supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。 注意: supervisor在docker里管理多个进程十分方便 二.安装 1.通过python pip安装 yum install python-setuptools easy_install pip pip install supervisor 2.创建配置文件夹 mkdir /etc/supervisor 主配置文件夹 mkdir /etc/supervisor/conf.d 子进程文件夹 mkdir /etc/supervisor/pid 主进程pid mkdir /etc/supervisor/run 主进程socket 3.创建supervisor 主配置文件 vim /etc

supervisor进程管理

柔情痞子 提交于 2020-03-28 18:19:26
一:什么是 supervisor 超级用户,监管员的意思,能将一个普通的命令行进程变为后台daemon( (古希腊神话中的) 半神半人精灵; 守护进程 ),并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。 # TODO 来源: https://www.cnblogs.com/meloncodezhang/p/12588464.html

PHP使用QPM实现多进程并行任务处理程序

六眼飞鱼酱① 提交于 2020-03-27 17:34:23
3 月,跳不动了?>>> 考虑用PHP实现以下场景: 有一个抓站的URL列表保存在队列里,后台程序读取这个队列,然后转交给子进程去抓取HTML存放到文件里。 为了提高效率,允许多任务并行执行,但为了避免机器负载过高,限制了最大的并行任务数(为了测试方便,我们把这个数设为3),当队列中取到 END标记时,程序结束运行。 这个场景用QPM的Supervisor::taskFactoryMode()实现,非常简单。 QPM全名是 Quick Process Management Module for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/qpm 为了,简化测试环境,我们可以用一个文本文件来模拟队列的数据。完整的例子文件看这里: spider_task_factory_data.txt http://ent.ifeng.com/ http://news.sina.com.cn/ http://news.ifeng.com/ http://news.163.com/ http://news.sohu.com/ http://ent.sina

Linux系统管理-进程管理

余生长醉 提交于 2020-03-25 23:05:03
1 进程   每个程序至少会产生一个进程。 2 进程管理 判断服务器的健康状态 查看系统中的所有进程 杀死进程 3 查看系统中的所有进程   ps aux   使用BSD操作系统格式   ps -le   使用Linux操作系统格式 pstree -p      查看进程树 4 查看系统健康状态 top [选项] 选项:   -d 秒数: 指定top命令每隔几秒更新。默认值:3秒 在top命令的交互模式可以执行的命令:   ?或h:  显示交互模式帮助   P:  以CPU使用率排序,默认。   M:  以内存使用率排序   N:  以PID排序   q:  退出top load average:1分钟,5分钟,15分钟  系统的平均负载:小于1,负载较小;大于1,系统已经超出负荷 5 终止进程 kill -l 进程ID : 查看可用的进程信号,重要信号:1 重启,9 强制杀死,15 killall [选项] [信号]     #根据进程名杀死进程   -i:  交互式,询问是否杀死进程   -I:  忽略进程名的大小写 pkill [选项] [信号] 进程名    #根据进程名杀死进程   -t  终端号:  按照终端号踢出用户,例如:pkill -t -9 pts/1 w #使用w命令查询本机已经登录的用户 来源: https://www.cnblogs.com

linux-进程管理

柔情痞子 提交于 2020-03-25 15:42:36
进程管理 查看进程 进程控制 作业控制 进程优先级 ====================================== ps process snapshot 查看当前终端上运行的进程 #ps #ps aux #ps auxf a 只能查看所有终端进程 u 显示进程拥有者 x 显示系统内所有进程 f 显示进程之间的父子关系(使用pstree查看更详细的父子关系) user 进程拥有者 pid process identify TTY 进程在哪个终端运行 查看tty的方法: #tty ? 表示这个进程开启的时候没有占用终端 time 进程占用cpu的总时间 cmd 进程名称 %cpu 进程占用的cpu百分比 %mem 进程占用memory百分比 VSZ 进程占用的虚拟内存大小 RSS 占用的物理内存大小 STAT 当前进程状态 #man ps R running S sleep T stop Z zombie(僵死,僵尸) D Uninterruptible sleep (usually IO) R Running or runnable (on run queue) S Interruptible sleep (waiting for an event to complete) T Stopped, either by a job control signal or

高级操作系统——进程管理

浪尽此生 提交于 2020-03-18 21:29:09
一、进程描述符 进程控制块PCB:是OS控制进程运行用的数据结构,是一个task_struct结构体。 PCB包括:进程标识信息(进程标识符PID等)、执行现场信息(CPU现场,进程切换时需要保存现场信息)、进程映像信息(进程地址空间,即进程在运行时代码、数据、栈放在什么位置,方便OS对地址空间进行管理)(现场与地址空间比较重要)、进程资源信息、信号信息。 对PCB,说其中几个重要的字段: mm_struct:有一个成员mm,标明了进程的地址空间; thread:记录了进程的现场,最后一个字段; thread_info在4.4.6版本中改成了stack,包括内核栈(即进程进入内核工作时需要的栈和用户栈是分开的)和一些需要快速访问的数据。 在4.4.6版本中,stack占用了两个页面,即8k,大部分是放内核栈的,低端约10k存放快速访问的信息。CPU若想访问当前进程的快速访问数据的话,只需要拿到当前的栈指针,即ESP寄存器的值,可以推算出数据所在的位置来,因此在查找他的地址的时候,访问速度可以很快。这部分数据可以看作是进程描述符的一部分,在空间上不是连续的,但相互之间有指针,可以相互找得到。 进程状态转换图,可自行搜索。 在4.4.6中,增加了被跟踪和僵死撤销状态。 进程描述符是管理进程的重要数据结构,故他的组织方式非常重要。0号进程的描述符是由init_task这个变量所存储的

linux 守护进程管理 supervisor 简介 可用于docker容器内守护进程

百般思念 提交于 2020-03-17 01:50:30
一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。 注:本文以centos7为例。 二、supervisor安装 配置好yum源后,可以直接安装 yum install supervisor Debian/Ubuntu可通过apt安装 apt-get install supervisor pip安装 pip install supervisor easy_install安装 easy_install supervisor 三、supervisor使用 supervisor配置文件: /etc/supervisord.conf 注:supervisor的配置文件默认是不全的,不过在大部分默认的情况下,上面说的基本功能已经满足。 子进程配置文件路径

Linux学习49 资源管理三板斧-htop、vmstat、dstat实战

丶灬走出姿态 提交于 2020-03-16 09:51:26
一、回顾   1、Linux OS基础概念,进程查看的几个工具   2、内核的功能:进程管理(进程调度)     进程调度:保存现场,恢复现场       task struct:任务结构       task list:任务列表     CPU:us,sy,ni,id,hi,si,cs,st     Memory:VSZ,RSS,SHM   3、命令     pstree,pgrep,pkill,ps,top,uptime 二、Linux进程管理及作业管理(2)   1、htop:top的升级版      来源: https://www.cnblogs.com/Presley-lpc/p/12501817.html

Linux下的服务与进程管理

允我心安 提交于 2020-03-07 14:11:09
1.Linux 系统的启动过程 2、Linux 系统的运行级别 (1)Linux 为了适应不同用户对服务的启动配置要求,设置了七种不同的运行级别: 运行级别 0:关机模式。poweroff.target 运行级别 1:单用户模式,仅用于 root 用户对系统进行维护时。rescue.target 运行级别 2:多用户模式(没有 NFS)。multi-user.target 运行级别 3:完全多用户模式,即多用户文本界面模式,是标准的运行级别。 运行级别 4:特定运行级别,基本不用的用户模式。multi-user.target 运行级别 5:X11,Linux 系统的图形界面运行级别。graphical.target 运行级别 6:重新启动。reboot.target target 文件保存在:/lib/system/system 目录中。 运行级别的设置由/etc/systemd/system/default.target 文件来控制。 运行级别服务程序存放位置:/etc/rc.d/ 服务进程存放在运行级别对应的目录中:Snnxxxx 或 Knnxxxxx 服务程序的脚本文件存放位置:/etc/rc.d/init.d/ (2)系统运行级别之间的切换 查看系统的当前运行级别:runlevel 查看系统启动时的运行级别:ll /etc/systemd/system/default