进程管理

Nginx系列p5:进程管理(信号)

前提是你 提交于 2019-12-02 05:40:01
通过上图我们可以看到:信号与命令行的关系,下面我们来简单总结一下上述命令的作用: CHLD: 当子进程终止的时候,会向父进程发送 CHLD 信号,这样,如果子进程由于某些模块出现了 Bug,导致子进程意外终止的情况时,那么父进程可以立刻通过 CHLD 信号发现这样一个事件,然后重新拉起进程,从而达到配置文件中所指定的 worker 进程的数量。 TERM,INT : 表示立刻停止 Nginx 进程,等同于命令行的 stop。 QUIT:表示优雅的停止 Nginx 进程,优雅:慢慢的关闭,不立刻关闭与客户端的连接,比如 TCP 连接的情况,不会立刻发送 reset 复位请求的报文。 HUP: 表示重新载入配置文件,等同于命令行的 reload。 USR1: 表示重新打开日志文件,常用于日志文件的切割,等同于命令行的 reopen。 USR2 : 表示重新生成一个新的 master 进程以及新的 master 进程生成新的 worker 进程,用于热部署。 WINCH : 优雅关闭老的 master 进程下的 worker 进程,用于热部署。 注释:红色的信号只能通过 linux 命令来发送给 master 进程,所以我们需要知道 master 进程的 PID。 总结:当我们从命令行执行对应的命令时,比如:./nginx -s reload 这个命令时,首先读取 logs/nginx

Linux 进程管理笔记

青春壹個敷衍的年華 提交于 2019-12-02 03:29:57
进程管理 命令    ps 显示进程信息 (ps 只显示当前终端看到的进程      -e 显示不同终端的所有进程 (可用ps -e | more分页显示      -ef 显示进程信息的同时包含父进程 PPID      -eLf 显示进程信息的同时包含线程信息NLWP 即为轻量级线程数      PID 为是进程唯一标识符 (进程可以重名) TTY 为执行进程终端 pts/0 为虚拟终端 tty0 为字符终端      UID 为启动进程的用户 进程可以更改自己的所属组    pstree 显示进程树 (根据进程的PPID 组成的一个进程树    top 动态显示进程信息      -p 只显示指定进程信息      s 更改进程信息刷新时间      1 将cpu信息合并/分散显示 进程控制 包括 调整进程优先级 和 进程作业控制   调整优先级 :优先级从-20到19 值越小优先级越高      nice 以指定优先级运行进程 nice -n num ./cmd 以num为优先级运行cmd     renice 重置正在运行进程的优先级 renice -n num PID 修改PID的优先级为num   进程作业控制 终端可以分 前台 和 后台 前台就是我们输入命令的界面 进程也可以运行在终端后台     后台运行: 在运行的命令后面加 & 符号     调回前台: 使用

Linux进程管理工具之ps

被刻印的时光 ゝ 提交于 2019-12-01 16:13:23
1 、 PS 进程管理指令 ps -aux USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内存的百分比 VSZ:进程占用的虚拟内存大小(单位:KB) RSS:进程占用的物理内存大小(单位:KB) TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的 STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等 STARTED:进程的启动时间 TIME:CPU时间,即进程使用CPU的总时间 COMMAND:启动进程所用的命令和参数,如果过长会被截断显示 ps -ef UID:用户ID PID:进程ID PPID:父进程ID C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 STIME:进程启动的时间 TTY:完整的终端名称 TIME:CPU时间 CMD:完整的启动进程所用的命令和参数 如果想查看进程的CPU占用率和内存占用率,可以使用aux 如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef 2 、 Linux 僵尸进程清理 用ps和grep命令寻找僵尸进程 ps -A -ostat

安装supervisor

孤街浪徒 提交于 2019-12-01 07:19:46
安装 supervisor 在 centOS6.8 下安装 supervisor , 下载 setuptools wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 然后输入 sudo 密码 到安装完成即可 安装supervisor 进入 root 执行 easy_install supervisor 安装完成即可 离线安装 tar -xvf meld3-1.0.2.tar.gz 进入解压目录 python setup.py install tar -xvf supervisor-3.3.1.tar.gz 进入解压目录 python setup.py install 即可。 在 Ubuntu 下直接 apt-get sudo apt-get install supervisor 安装即可 3 .生成 supervisor.conf mkdir -p /etc/supervisor/conf.d 初始化supervisord.conf echo_supervisord_conf > /etc/supervisor/supervisord.conf 修改 supervisord.conf vim /etc/supervisor/supervisord.conf 配置

Linux的进程管理基本指令

混江龙づ霸主 提交于 2019-12-01 06:17:23
在Linux操作系统中,进程是指一个程序的运行实例,它需要存储器来存储程序本身及其操作数据。内核负责创建和跟踪进程。当程序运行时,内核首先准备好一些内存,将可执行代码从文件系统加载到内存里,然后开始运行代码。内核保存此进程的运行信息,其中最常见的是称为 进程标识符(PID) 的数字,每个进程都有PID。计算机开机时,Linux内核只创建一个名为init(ubuntu19为systemd)的进程作为一切进程的源头,因此Linux的所有进程构成了一个树状结构,这个树状结构以init进程为根。可以通过 pstree 命令来显示整个进程树。 ps aux 命令列出当前运行的进程,并通过显示其PID来帮助识别它们。一旦知道进程的PID,可以通过 kill 进程的PID 命令发送一个终止进程的信号(如果用户拥有该进程的权限)来结束进程。 如果一个命令后跟“&”符号,则命令解释器也可以在后台运行程序。通过使用&符号,即使程序仍在运行(从当前视图中隐藏成为后台进程),也可以立即恢复对shell的控制。如 ping localhost & 指令将发送ICMP包的进程转移到了后台进行,此时用户仍可在shell中输入指令。 jobs 这条指令列出在后台运行的进程以及它们的job-number。 fg %job-number 指令(意为foreground)将后台运行的进程还原到前台。

Nginx 进程管理,你需要了解哪些?

 ̄綄美尐妖づ 提交于 2019-12-01 04:43:47
Nginx 是一个多进程的程序,多进程之间进行通讯可以使用共享内存、信号等。当做进程间管理的时候,通常只使用信号。 今天就来看一下 Nginx 进程管理中的信号是怎样使用的。 Nginx 进程管理:信号 从上图可以看出,能够发送和处理信号的有 master 进程、worker 进程、Nginx 命令行。 首先让我们来看下 Master 进程。 Master 进程 因为 master 进程会启动 worker 进程,所以它管理 worker 进程的方式首先是监控 worker 进程有没有发送 CHLD 信号,因为 Linux 操作系统中规定当子进程终止的时候会向父进程发送 CHLD 信号,所以如果 worker 进程由于一些模块代码 bug 导致 worker 进程意外终止,那么 master 进程可以立刻通过 CHLD 发现这样一个事件,然后重新把 worker 进程拉起。 Master 进程还会通过接受一些信号,来管理 worker 进程。 Master 进程可以接受的信号有: TERM、INT:立刻停止 Nginx 进程 QUIT:优雅停止 Nginx 进程,不会对用户立刻发送结束连接请求(比如像 TCP 中的 reset 复位请求这样的报文) HUP:表示重载配置文件 USR1:表示重新打开日志文件,做日志文件的切割 USR2:专门针对做热部署使用 WINCH

Nginx 进程管理,你需要了解哪些?

社会主义新天地 提交于 2019-12-01 04:43:37
Nginx 是一个多进程的程序,多进程之间进行通讯可以使用共享内存、信号等。当做进程间管理的时候,通常只使用信号。 今天就来看一下 Nginx 进程管理中的信号是怎样使用的。 Nginx 进程管理:信号 从上图可以看出,能够发送和处理信号的有 master 进程、worker 进程、Nginx 命令行。 首先让我们来看下 Master 进程。 Master 进程 因为 master 进程会启动 worker 进程,所以它管理 worker 进程的方式首先是监控 worker 进程有没有发送 CHLD 信号,因为 Linux 操作系统中规定当子进程终止的时候会向父进程发送 CHLD 信号,所以如果 worker 进程由于一些模块代码 bug 导致 worker 进程意外终止,那么 master 进程可以立刻通过 CHLD 发现这样一个事件,然后重新把 worker 进程拉起。 Master 进程还会通过接受一些信号,来管理 worker 进程。 Master 进程可以接受的信号有: TERM、INT:立刻停止 Nginx 进程 QUIT:优雅停止 Nginx 进程,不会对用户立刻发送结束连接请求(比如像 TCP 中的 reset 复位请求这样的报文) HUP:表示重载配置文件 USR1:表示重新打开日志文件,做日志文件的切割 USR2:专门针对做热部署使用 WINCH

linux进程管理

和自甴很熟 提交于 2019-11-30 21:56:19
1.进程的组成 一个进程包含内核中的一部分地址空间和一系列数据结构。其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体信息。 最主要的进程信息包括: 进程的地址空间图 进程当前的状态( sleeping、stopped、runnable 等) 进程的执行优先级 进程调用的资源信息 进程打开的文件和网络端口信息 进程的信号掩码(指明哪种信号被屏蔽) 进程的属主 PID:进程ID 每一个进程都会从内核获取一个唯一的ID值。绝大多数用来操做京城的命令和系统调用,都需要PID 指定操作的进程对象。 PPID:父进程ID 在unix和linux系统中,一个已经存在的进程必须克隆它自身来创建一个新的进程。当新的进程克隆后,最初的进程便作为父进程存在。 UID&EUID:真实用户ID和有效用户ID 一个进程的 UID 是其创建者的身份标志(也是对其父进程 UID 的复制)。通常只有进程的创建者和超级用户才有操作该进程的权限。 Niceness 一个进程的计划优先级决定了它能获取到的 CPU 时间。内核有一个动态的算法来计算优先级,同时也会关注一个 Niceness 值,来决定程序运行的优先顺序。 二.信号 信号属于进程级别的中断请求。它们可以作为进程间通信的手段,或者由终端发送以杀死,中断,挂起某个进程。 三。kill命令 kill命令常用来终止某个进程

进程管理(一)-进程的概念以及进程的创建

徘徊边缘 提交于 2019-11-30 16:49:59
进程 什么是进程? 程序一旦跑起来就是一个进程,进程是一个可以运行的实例。 每个进程都拥有一个自己的虚拟CPU,但是实际上只有一个CPU,其只是在各个进程之间快速的切换,这种快速切换就叫做多道程序设计 进程和程序有什么区别? 例子:一个计算机科学家给女儿做蛋糕,他有做蛋糕用的食谱,厨房中有大量的原料,比如香草、鸡蛋、面粉、糖等等。其中食谱就是程序,它就是一种方法。计算机科学家就是CPU,做蛋糕的原料就是数据。 进程 就是厨师阅读食谱,并取来各种原料再到烘焙蛋糕等一系列动作的总和。 进程就是cpu获取数据,按照程序执行等一系列过程的总和,它是动态的。程序是静态的,它是类似一种方法说明书的东西。 进程的 中断 :现在计算机科学家的儿子跑进来说被蜜蜂蜇了( 更高优先级的事情发生了 ),计算机科学家会先记录现在蛋糕做到哪里了( 保存进程当前的状态 ),转而去处理儿子的伤势,当处理完儿子的伤势之后,再返回来继续做蛋糕, 按照之前保存的状态继续做蛋糕 。 注意的是一段程序执行了两次的话算 两个进程 。 创建进程 创建进程的原因 导致进程被创建的四种原因: 1.系统初始化 启动操作系统的时候会创建多个进程,其中有的是前台的进程,除此之外就是后台的进程,这种进程被称为 守护进程 ,其大部分的时间都在休眠,只有在发生特定的事件的时候才被调用。比如等待接收邮件的程序。 2

scp & 进程管理 & 服务

半世苍凉 提交于 2019-11-30 15:12:45
SCP命令 -P为端口参数紧接端口参数,不要有空格,后面两个为文件路径,拷贝方向为从前向后,不区分本地与远端路径 远端路径格式:用户名@地址:远端路径 栗子: scp -P22000 ./clearLog.sh root@211.149.215.86:/root/taskBash SELinux ps -l 显示正在执行的前台程序 Tips:在执行命令的时候,尾部添加 & 该命令将会以后台形式进行执行 后台指令、切换管理 ctrl+z 前台指令运行中 可以使用 ctrl+z 将当前指令转至后台暂停 fg n 将ctrl+z放置到后台的程序唤醒回前台继续执行,n为暂停时出现的编号 bg n 将暂停的指令以后台形式继续运行,n为暂停时的编号 脱机运行程序 nohup 使用nohup指令, nohup不支持bash内建指令 ,所以请使用shellScript脚本执行,栗子 # & 后台运行 nohup ./test.bash & 执行后,会输出提示语,按一下回车即可回到前台,登出操作不会中断指令执行 进程管理 top : 动态查看进程信息,类似win下面的任务管理器,进入后shift+e可以切换存储显示单位 ps :显示进程列表相关信息 pstree :查看当前进程树 [root@www ~]# ps aux <==观察系统所有癿程序数据 [root@www ~]# ps -lA <=