进程管理

Supervisor 进程管理工具

若如初见. 提交于 2019-12-23 13:40:41
简介 Supervisor 是基于 Python 的进程管理工具,可以帮助我们更简单的启动、重启和停止服务器上的后台进程,是 Linux 服务器管理的效率工具。什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式启动的程序,比如一个后台任务、一组 Web 服务的进程(说是一组,是因为经常用 Nginx 来做负载均衡),这些很可能是一些网站、REST API 的服务、消息推送的后台服务、日志数据的处理分析服务等等。注意:Supervisor 是通用的进程管理工具,可以用来启动任意进程,不仅仅是用来管理 Python 进程。 Supervisor 有两个主要的组成部分: 1 supervisord,运行 Supervisor 时会启动一个进程 supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启。 2 supervisorctl,是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理。 安装 sudo pip install supervisor 通过如上命令即可实现,需要注意的是如果你电脑既有python2和python3,那么需要使用 sudo pip3 install supervisor 配置文件 创建 echo_supervisord_conf >

os库基本介绍

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-22 11:21:08
os库基本介绍   os库提供通用的,基本的操作系统交互功能(windows,mac os,linux)   -os库是python标准库,包含几百个函数   -与操作系统相关的,包括常用路径操作,进程管理,环境参数等 其中:   -路径操作:os.path子库,处理文件路径及信息   -进程管理:启动系统中其他程序   -环境参数:获得系统软硬件信息等环境参数 一.路径操作   os.path子库以path为入口,用于操作和处理文件路径;这里的path指的是 目录或者包含文件名称的文件路径   import os.path   import os.path as op   1. os.path.abspath(path) 返回path在当前系统中的绝对路径   2.os.path.normpath(path) 归一化path的表示形式,统一用\\分割路径   >>>os.path.normpath("D://PYE//file.txt")   'D:\\PYE\\file\\file.txxt'   3.os.path.relpath(path)返回当前程序与文件之间的相对路径(relative path)   4.os.path.dirname(path) 返回path中的目录名称   5.os.path.basename(path)返回path中最后的文件名称   6.os

僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程

百般思念 提交于 2019-12-21 00:30:07
在 Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的“僵尸”进程。“僵尸”进程是一个早已 死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性能,而且如果其数 目太多,还会导致系统瘫痪。 我们知道,每个Unix进程在进程表里都有一个进入点(entry),核心程序执行该进程时使用到的一切信息都存储在进入点。当用ps命令察看系统中的进程信息时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程就会在进程表中给这个新进程分配一个进入点,然后将相关信息存储在该进入点所对应的进程表内。这些信息中有一项是其父进程的识别码。当这个进程走完了自己的生命周期后,它会执行exit()系统调用,此时原来进 程表中的数据会被该进程的退出码(exit code)、执行时所用的CPU时间等数据所取代,这些数据会一直保留到系统将它传递给它的父进程为止。由此可见,defunct进程的出现时间是在子进 程终止后,但是父进程尚未读取这些数据之前。 defunct进程是不能直接kill -9杀掉的,否则就不叫僵尸进程了。 知道了defunct进程产生的原因,就可以轻易的kill掉defunct进程。 方法有二:

僵死进程

大城市里の小女人 提交于 2019-12-21 00:28:55
我是从:http://blog.csdn.net/hwz119/archive/2007/05/16/1612223.aspx 转载过来的,他从哪里转过来的,就不得而知了。 解释得比较搞笑!!! 僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程.(zombie)进程   怎样产生僵尸进程的:   一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用 exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。    在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位 置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。它需要它的父进程来为它收尸,如果他的父进程没安装 SIGCHLD信号处理函数调用wait或waitpid()等待子进程结束,又没有显式忽略该信号,那么它就一直保持僵尸状态,如果这时父进程结束了, 那么init进程自动会接手这个子进程,为它收尸,它还是能被清除的。但是如果如果父进程是一个循环,不会结束,那么子进程就会一直保持僵尸状态,这就是 为什么系统中有时会有很多的僵尸进程。  

linux进程管理

家住魔仙堡 提交于 2019-12-21 00:15:30
进程:正在运行当中的程序,占用一定系统资源 如一些命令:ls也是一个程序,执行了也会产生一个进程;apache是个服务,也是个进程,只不过apache常驻在内存中,等着不同的用户来访问。通过浏览器来访问某个网页,就会在对方的服务器最少产生一个进程。 在windows中管理进程可直接通过任务管理器来完成 进程管理的作用 1、判断服务器的健康状态(关键作用),若是内存、CPU占用率高,通过人为介入降低其占比 2、查看系统所有的进程 3、杀死进程(不允许把杀死进程当成结束进程的正确使用方式)(进程管理中最不重要的操作) 若某个进程不能正确关闭,要先检查该进程是不是合理进程,若是合理进程,则增加资源;若是非法进程比如非法病毒,也不能直接终止,要先把它彻底清除掉再终止进程,否则当重启之后非法进程还是会产生。 ps进程的查看 ps -aux(多了一个“-”)也能查看系统所有的进程,但是在结果首页有个warning,提示错误的语法,但是结果不影响 ps aux和-le这两个命令的输出内容不一样 pid=1 :init进程,系统启动的第一个用户级进程,是所有其它进程的 父进程 ,引导用户空间服务。 pid=2 :kthreadd:用于内核线程管理。 pid=3 :migration,用于进程在不同的 CPU 间迁移。 pid=4 :ksoftirqd,内核里的 软中断 守护线程

linux系统管理-进程管理

拈花ヽ惹草 提交于 2019-12-21 00:15:14
目录 linux系统管理-进程管理 程序和进程的区别 进程的生命周期 进程状态管理命令(静态) 进程的相关命令 动态进程监控(top) 中断:硬中断 软中断: top命令的使用 信号管理进程(kill) linux系统管理-进程管理 程序和进程的区别 1.程序是数据和指令的集合,是一个静态的概念,比如/bin/ls、/bin/cp等二进制文件,同时程序可以长期存在系统中。 2.进程是一个程序的运行过程,是一个动态概念,进程是存在生命周期概念的,也就是说进程会随着程序的终止而销毁,不会永远在系统中存在。 进程的生命周期 程序运行是进程的状态关系 1.当父进程接收到任务调度时,会通过fork派生子进程来处理,那么子进程会集成父进程的衣钵。 2.子进程在处理任务代码时,父进程会进入等待的状态... 3.如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么这些子进程就没有父进程来管理了,就变成了僵尸进程。 4.每个进程都会有自己的PID号,(process id)子进程则PPID 进程状态管理命令(静态) 使用ps命令查看当前的进程状态(静态查看) 常用组合:ps aux 查看进程 [root@zls ~]# ps aux a:显示所有与终端相关的进程,由终端发起的 u:显示用户导向的用户列表 x:显示所有与终端无关的进程 在多任务处理操作系统中,每个CPU(或核心

12个Linux进程管理命令介绍

怎甘沉沦 提交于 2019-12-21 00:15:01
12个Linux进程管理命令介绍 当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。Linux提供了许多命令来让用户来高效掌控上述的操作。 执行中的程序称作进程。当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。 为了管理这些进程,用户应该能够: ●查看所有运行中的进程 ●查看进程消耗资源 ●定位个别进程并且对其执行指定操作 ●改变进程的优先级 ●杀死指定进程 ●限制进程可用的系统资源等 Linux提供了许多命令来让用户来高效掌控上述的操作。接下来,一个一个的来讲解下。 1.ps 'ps'是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。下述选项可以得到更多有用的消息。 ps -a - 列出所有运行中/激活进程 ps -ef |grep - 列出需要进程 ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如 USER, PID, %CPU, %MEM等 2.pstree linux中,每一个进程都是由其父进程创建的

Linux进程管理

萝らか妹 提交于 2019-12-21 00:14:41
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。 http://www.cnblogs.com/shijiaqi1066/p/3836017.html 1 进程概述 通俗的讲程序是一个包含可以执行代码的静态的文件。进程是一个开始执行但是还没有结束的 程序的实例 。 当程序被系统调用到内存以后,系统会给程序分配一定的资源(内存,设备等等)然后进行一系列的复杂操作,使程序变成进程以供系统调用。 1.1 进程的分类 按照进程的功能和运行的程序分类,进程可划分为两大类: 系统进程 可以执行内存资源分配和进程切换等管理工作,而且该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。 用户进程 通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。 针对用户进程,又可以分为如下3类: 交互进程 :由一个Shell终端其他的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行于后台。 批处理进程 :该进程是一个进程集合,负责按顺序启动其他的进程。 守护进程 :守护进程是一直运行的一种进程,经常在Linux系统时启动,在系统关闭时终止。它们独立于控制终端且周期性地质学某种任务或等待处理某些发生的时间。例,httpd进程,crond进程等。 1.2 进程状态

LINUX进程管理

久未见 提交于 2019-12-21 00:14:23
进程就是运行中的程序,一个运行着的程序,可能有多个进程。 比如 LinuxSir.Org 所用的WWW服务器是apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd服务,apache服务器将会创建有多个httpd进程来对其进行服务。 1、 进程分类 进程一般分为交互进程、批处理进程和守护进程三类。 值得一提的是守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。比如在Fedora或Redhat中,我们可以定义httpd服务器的启动脚本的运行级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。 [root@localhost ~]# chkconfig --level 35 httpd on 由于守护进程是一直运行着的,所以它所处的状态是等待请求处理任务。比如,我们是不是访问 LinuxSir.Org ,LinuxSir.Org 的httpd服务器都在运行,等待着用户来访问,也就是等待着任务处理。 2、进程的属性 进程ID(PID):是唯一的数值,用来区分进程; 父进程和父进程的ID(PPID); 启动进程的用户ID(UID)和所归属的组

Linux系统管理-进程管理

妖精的绣舞 提交于 2019-12-21 00:13:51
   进程管理   进程:在CPU及内存中运行的程序指令,是动态执行的代码   父/子进程:一个进程可以创建一个或多个子进程   PID:进程的ID编号   PPID:父进程ID编号   Linux包含以下三种进程: 交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。 批处理进程:这种进程和终端没有联系,是一个进程序列。 守护进程:Linux系统启动时启动的进程,并在后台运行。   命令1:查看进程数pstree   格式:pstree [选项] [PID或者用户名]   选项: -a  显示完整的命令行       -u  列出个进程的所属       -p  列出进程的PID   常用格式:pstree -ap [PID或用户名]           命令2:查看进程快照ps   格式:ps [选项]   常用选项:aux  列出正在运行进程(最详细的信息)        -elf  列出正在运行进程(会列出PID和PPID)         STAT列所体现进程所在的状态     R  正在运行的状态     S  处于休眠状态,在需要时会被唤醒     D  不可中断的休眠,通常为在等待I/O的时候出现     T  停止状态     Z  僵尸状态   命令3:进程动态排名工具top   格式:top [-d 刷新间隔(缺省为3秒)] [