首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx服务器进程

Nginx服务器进程有3类:主进程、工作进程、缓存进程 (1)主进程 Nginx启动时运行主要进程,主要功能是与外界通信和对内部其他进程进行管理 主要工作内容 1)读取配置文件,验证有效性和正确性...2)建立、绑定、关闭 socket 3)按照配置生成、管理、结束工作进程 4)接收指令,如 重启、升级、退出 5)不中断服务,平滑重启、升级,升级失败回滚处理 6)开启日志文件,获取文件描述符 (2)...工作进程 由主进程生成,生成数量由配置文件指定,工作进程生存于主进程整个生命周期 主要工作内容 1)接收请求 2)将请求依次送入各个功能模块进行过滤处理 3)IO调用,获取响应数据 4)与后端服务器通信...,接收后端服务器处理结果 5)数据缓存,访问缓存索引、查询、调用缓存数据 6)发送请求结果 7)接收主进程指令,如 重启、升级、退出 (3)缓存进程 缓存进程有两类 1)缓存索引重建进程 nginx启动后由主进程生成...,在缓存元数据重建完成后就自动退出 该进程启动后,对缓存文件目录结构扫描,在内存建立索引元数据库 2)缓存索引管理进程 生存于主进程整个生命周期 负责在索引元数据更新完成后,对元数据是否过期进行判断

4.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    服务器查询进程对应Jar包位置

    Linux查询jar包位置: 适用情况:需要访问Jar路径情况、查询进程对应Jar包情况 ①.根据代码使用maven打包名字,使用ps -ef | grep name,得到进程pid ②.使用...proc名称找到开启进程文件路径: ls -lrt /proc/pid 实战: image.png ①.根据名字进行模糊搜索 image.png ②.根据grep命令查询到有两个进程 根据一个端口pid...查询,如:5806 image.png 查询后PID:5806相关文件夹都会显示出来,那么这样不太方便查询,proc提供了查询当前进程工作目录功能: ls -lrt /proc/5086/cwd image.png...如果根据其中一个pid查询到jar位置不正确,那么再试用其他即可。 ls -lrt : 列出目前工作目录下文件,越新排越后面 。...所以,以上思路是: 使用grep查询处进程PID 根据PID使用proc查询进程工作目录 使用ls -lrt列出当前工作目录 哪么,还可以使用cd命令配合proc命令直接进入5806进程工作目录:

    2.7K20

    Linux查看进程、杀死进程、进入进程命令

    ps c 列出程序时,显示每个程序真正指令名称,而不包含路径,参数或常驻服务标示。     ps -e 此参数效果和指定"A"参数相同。    ...ps e 列出程序时,显示每个程序所使用环境变量。     ps f 用ASCII字符显示树状结构,表达程序间相互关系。     ps -H 显示树状结构,表示程序间相互关系。    ...# killall -9 NAME 进程杀死 HUP 1 控制终端/程序中断 INT 2 键盘插入指令(同 Ctrl + C) QUIT 3 键盘中断指令(同 Ctrl + \) TERM...*确定要杀死进程PID或PPID # ps -ef | grep httpd *以优雅方式结束进程 # kill -l PID -l选项告诉kill命令用好像启动进程用户已注销方式结束进程。...其允许指定要终止进程名称,而非PID。 # killall httpd *停止和重启进程 有时候只想简单停止和重启进程

    11.7K30

    为什么Spring每个Bean每个Bean都要定义作用域?

    1、Sprin g Bean作用域定义 在Spring配置,我们可以通过scope属性来定义Spring Bean作用域,可以接受5个内建值,分别代表5种作用域类型,下面给大家详细总结一下...: 1、singleton,用来定义一个Bean为单例,也就是说在Spring loC容器仅有唯一一个实例对象,SpringBean默认都是单例。...它作用域范围是浏览器首次访问至浏览器关闭。 5、globalSession,用来定义一个作用范围仅在Bean。...第一个singleton和第二个prototype是比较常用。其他三种仅适用于Web应用环境,咱们也无须关心用什么样框架,只需要符合J2EE规范即可生效。...这样,唐僧访问不到圈外资源,圈外资源也无法触达到唐僧,以此形成一个安全隔离区。 在日常开发,我们可以根据业务需要,选择定义不同作用域,以保护Bean使用安全。

    28810

    进程服务器

    一、思路 先与客户端建立好连接, 每次监听到一个客户端之后,都需要产生一个子进程去处理这个连接,然后父进程继续去等待监听,唯一一个要注意点就是要使用信号来监听子进程是否结束,从而对其进行回收,防止僵尸进程产生...&opt, sizeof(opt)); (3)bind函数 bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));b这个函数主要目的就是将服务器地址结构绑定到套接字...lfd上,所以开始要设置服务器ser_addr:ser_addr.sin_family = AF_INET, ser_addr.sin_port = htons(8888);ser_addr.sin_addr.s_addr...= htonl(INADDR_ANY);端口8888是可由自己设置,, (3)listen函数 设置监听上限函数,,并不是阻塞监听函数listen(lfd, 128); (4)accept函数...cfd; 2、创建子进程 监听到了客户端后,就要开始创建子进程来对这个监听进行处理;pid = fork() 3、子进程处理通信 因为子进程不需要监听连接,使用可以close(lfd);之后便可以进行通信处理

    4.7K20

    必要时调整应用程序每个辅助进程线程数

    遗憾是,有时这可能导致 Web 服务器上存在大量同时处理请求和许多正在等待线程,而它们对服务器性能有不利影响。...通常,如果门控因子是外部资源响应时间,则让过多请求等待资源,对 Web 服务器吞吐量并无帮助。...为缓和这种情况,可以通过更改 Machine.config 配置文件 节点 maxWorkerThreads 和 maxIOThreads 属性,手动设置进程线程数限制...分配给这些属性值是进程每个 CPU 每类线程最大数目。对于双处理器计算机,最大数是设置值两倍。对于四处理器计算机,最大值是设置值四倍。...注意 进程中有太多线程往往会降低服务器速度,因为额外上下文交换导致操作系统将 CPU 周期花在维护线程而不是处理请求上。

    58130

    枚举进程模块

    在Windows枚举进程模块主要是其中加载dll,在VC上主要有2种方式,一种是解析PE文件中导入表,从导入表获取它将要静态加载dll,一种是利用查询进程地址空间中模块,根据模块句柄来得到对应...dll,最后再补充一种利用WindowsNATIVE API获取进程内核空间中模块,下面根据给出这些方式具体代码片段: 解析PE文件来获取其中dll 在之前介绍PE文件时说过PE文件存在一个导入表...解析进程地址空间中模块 这个方法首先通过OpenProcess函数获取对应进程句柄,然后调用EnumProcessModules枚举进程地址空间中当前存在模块,这个函数会返回一个HMODULE句柄数组...,我们遍历这个数组,对其中每个句柄调用GetModuleFileNameEx(很多模块GetModuleFileName获取不到,具体原因我没有深入研究)获取对应文件路径。...在进程启动之时就已经被加载到内存,所以利用这个方法自然可以获取静态加载dll,但是由于它是获取进程地址空间中加载dll,所以要求进程要正在运行,毕竟进程如果没有运行,那么也就不存在地址空间,也就无法获取其中加载

    1.7K20

    Python进程

    fork()函数非常特殊它会返回两次,父进程可以通过fork()函数返回值得到子进程PID,而子进程返回值永远都是0。Pythonos模块提供了fork()函数。...接下来我们使用多进程方式将两个下载任务放到不同进程,代码如下所示。...我们也可以使用subprocess模块类和函数来创建和启动子进程,然后通过管道来和子进程通信,这些内容我们不在此进行讲解,有兴趣读者可以自己了解这些知识。...当我们在程序创建进程时候,子进程复制了父进程及其所有的数据结构,每个进程有自己独立内存空间,这也就意味着两个子进程各有一个counter变量,所以结果也就可想而知了。...要解决这个问题比较简单办法是使用multiprocessing模块Queue类,它是可以被多个进程共享队列,底层是通过管道和信号量(semaphore)机制来实现,有兴趣读者可以自己尝试一下

    65420

    进程线程调度

    进程是应用程序运行基本单位。进程是计算机资源调度过程。资源抢占着计算机运行内存。一个应用服务启动开启一个进程。完整进程包括主线程,用户线程和守护线程。...大型机器用户量较少,可以忍受时间调度和任务调度不协调。随着个人PC计算机问世,基于用户分时间片异步任务操作操作系统设计方式在用户体验和性能方面都有保证。调度单元就是进程线程。...Java线程使用Thread类进行构建。线程调度方式通过计算机运行处理器。中央系统处理器CPU以异步操作线程。线程构建好之后覆写Threadrun方法接口处理任务数据。...不同计算机节点集群处理不同业务单元。微服务划分可以通过业务模块拆分。不同类型用户线程划分在互联网也形成不同微服务模块。机器硬件处理数据机器集群,存储器硬件会单独拆分形成数据存储区。...一些算法优化会加快调度线程处理数据业务逻辑量。海量数据存储会在不同区块进行划分生产。

    9610

    Linux服务器进程查看命令详解

    Linux 服务器正常启动后,提供服务时会调用程序,占用进程。这时候我们如何查看系统中有哪些进程在被调用呢?我们可以通过以下命令来查看。...包括以下几种代码:D,不可中断睡眠;R,就绪(在可运行队列);S,睡眠;T,被跟踪或停止;Z,终止(僵死)进程,这些进程不存在,但暂时无法消除;W,没有足够内存分页可分配;<,高优先级进程;N...SMar16  0:06 nginx: worker process 二、top 命令 top 命令可动态显示服务器进程信息。top 命令和 ps 命令基本作用是相同,都显示系统当前进程状况。...另外,大家有兴趣也可以了解一下 pkill 用法,在服务器里用它来“踢人”还是很方便,这个命令在工作我们用得不多,大家稍微了解一下即可。...在 Linux 下,最强大进程管理命令莫过于 ps 和 top 了,我们应该掌握它们详细语法,在工作灵活地使用它们。 注:以上内容整理自《构建高可用 Linux 服务器》一书。

    22.1K101

    附加进程 到远程服务器Docker容器内 调试

    VS附加进程非常强大,目前提供了9种常用附加方式。在当前.Net Core支持跨平台大背景下,其中Linux环境和Linux Docker附加显得尤为重要。...那么我们来看看如何附加到远程服务器Docker。...1.必要条件想附加LinuxDocker容器,必须安装SSH服务器sudo apt-get install openssh-server unzip curl2.设置调试选项在工具->选项->调试...,取消勾选以下选项:启用“仅我代码”要求源文件与原始版本完全匹配3.附加进程选择Docker(Linux容器),并点击查找,配置Linux服务器信息4.选择容器在列表中选择要附加容器。...并点击附加,弹出选项中选择托管(.NET Core For Unix) 5.触发线上逻辑,确认是否能命中断点通过触发线上业务逻辑,可以看到已经命中了断点 附加进程到远程服务器Docker这种模式,可能用不多

    1.2K10

    Java进程与线程

    引言在计算机编程进程和线程是两个重要概念。进程是指一个正在执行程序实例,而线程则是进程一个执行单元。Java作为一种面向对象编程语言,提供了对进程和线程支持。...本文将详细介绍Java进程和线程概念、特点以及使用方法。一、进程概念和特点进程概念进程是操作系统分配资源基本单位,它是程序一次执行过程。...每个进程都有自己内存空间和系统资源,可以独立运行。进程之间相互独立,互不干扰。进程特点(1)独立性:进程拥有自己内存空间和系统资源,互不干扰。...二、线程概念和特点线程概念线程是进程一个执行单元,是程序一个执行流程。一个进程可以有多个线程同时执行。线程特点(1)轻量级:线程相对于进程来说,创建和销毁开销较小。...三、Java进程操作创建进程 在Java,可以使用ProcessBuilder类来创建一个新进程。ProcessBuilder类提供了一种灵活方式来构建和管理进程

    16720
    领券