linux应用开发-进程管理

linux应用开发-进程管理

一 进程

一个组成部分是操作系统用来管理进程的内核对象,内核对象是系统用来存放进程的统计信息的地方

1 每个进程都有一个父进程

2 子进程终止,父进程会得到通知并能去的进程的退出状态

3 命名空间 类似有C++的namespace

4 进程组

每个进程都有一个进程组,都有一个进程组号=组长PID

进程组组长-groupleader

5 会话期session是一个或多个进程组的集合

setsid可以创建会话期

6 相关换算

2^10 = 1K

2^20 = 1M

2^30 = 1G

2^32 = 2^30 * 2^2 = 4G

二 虚拟内存

程序只使用物理内存的一部分,程序本身装载在虚拟内存中

三 进程特性

linux特点:多任务,多进程,高并发,分时

彼此独立,内存隔绝,依赖于虚拟内存

四 进程调度

将进程运行时间(间隔时间非常短,微秒为单位)碎片化

五进程生命周期

安卓:前台 可见 服务 背景 空

linux:运行 挂起 消亡

五 相应概念

僵尸进程由init(系统最大的进程 0启动 1 init 2 内核线程守护进程  这3个是核心进程)进程回收

进程树:init->....

进程管理调用

进程表

进程创建及销毁

进程切换

七 创建进程

复制父进程

创建新进程

八 相应的函数

getpid()

getppid()

system()

fork创建的子进程copy的父进程的内容,但是地址不同进程

exit()退出的时候会清除缓存

_exit()不会清除缓存

wait

waitpid

sleep

时间: 2024-11-18 18:19:43

linux应用开发-进程管理的相关文章

linux应用开发-进程控制理论

linux应用开发-进程控制理论 一 进程 进程是一个具有一定独立功能的程序的一次运行活动. 二 进程特点和状态 动态性 并发性 独立性 异步性 状态 就绪 执行 阻塞 三 调度算法 进程调度:按一定算法,从一组待运行的进程中选出一个来占有CPU运行. 先来先服务 短进程优先调度 高优先级优先调度 时间片轮转法 四 调度方式 在有了等待运行的进程和调度算法后,接下来需要讨论的问题是:什么时候调度? 按调度时机,调度可分为: 抢占式调度 非抢占式调度 五 死锁 多个进程抢占同一个资源而形成的一种僵

Linux入门之进程管理(4)之进程与文件

Linux入门之进程管理(4)之进程与文件 前面使用进程相关命令管理工具都是根据进程编号或者进程名称及其其它属性信息来查看和处理相关进程的,但是在某些情况下,想要查看某个文件或者某个设备被哪些进程所使用,使用ps.pgrep等命令查询的是不够准确的,而且有些时候并不是简单的去打开某个文本文件一样,这样还可以进行搜索过滤出来.而在linux系统中,除了常见的配置文件.日志文件等文本文件,几乎任何对象都会被内核映射去该有的文件,比如磁盘设备.挂载点等.当要知道那些用户通过哪些进程来在访问或者使用此文

Linux学习之进程管理(十九)

Linux学习之进程管理 进程查看 查看系统中所有进程,使用BSD操作系统的格式 语法:ps aux 选项: a:显示所有前台进程 x:显示所有后台进程 u:显示这个进程是由哪个用户产生的 语法:ps -le 查看系统中所有进程,使用Linux标准命令格式 选项 l:显示详细信息 e:显示所有进程 USER:该进程是由哪个用户产生的 PID:进程的ID号 %CPU:该进程占用CPU资源的百分比,占用越高,进程越消耗资源. %MEM:该进程占用物理内存的百分比,占用越高,进程越消耗资源. VSZ:

linux下的进程管理(进程的基本了解及查看pstree,ps,pgrep命令)

Linux下的进程管理 1.什么是进程?程序是静态的文件进程是运行中的程序的一个副本进程存在生命周期(准备期,运行期,终止期)2.进程状态 状态 定义 R(TASK_RUNNING) . 可执行状态(RUNNING,READY)running:正在被处理 ready: 在排队, cpu处理进程个数有限 S(TASK_INTERRUPTIBLE) 可唤醒状态 :在cpu上使用的时间超时,此时被打入休眠状态,随着程序的调用会被唤醒 D(TASK_UNINTERRUPTIBLE) 不可唤醒状态 T(T

深入Linux内核架构——进程管理和调度(上)

如果系统只有一个处理器,那么给定时刻只有一个程序可以运行.在多处理器系统中,真正并行运行的进程数目取决于物理CPU的数目.内核和处理器建立了多任务的错觉,是通过以很短的间隔在系统运行的应用程序之间不停切换做到的.由此,以下两个问题必须由内核解决:除非明确要求,否则应用程序不能彼此干扰:CPU时间必须在各种应用程序之间尽可能公平共享(一些程序可能比其他程序更重要).本篇博文主要涉及内核共享CPU时间的方法以及如何在进程之间切换(内核为各进程分配时间,保证切换之后从上次撤销其资源时执行环境完全相同)

Linux系统管理(一)——进程管理

************************************如有写错或者不准之处还请指出************************************ 1-1Linux进程介绍与进程管理的作用 Linux系统管理员面临的最复杂的任务之一就是追踪运行在系统中的程序.想要监看这些运行的 程序,那就要熟悉ps命令的用法.下面将介绍ps,pstree,top,kill,killall,pkill和nice等命令. (1)进程简介 进程:是指当程序运行在系统上时,称之为进程.(或者另

Linux中的进程管理

什么是进程,顾名思义嘛!就是正在进行的程序,在Linux中,只要开启服务就会在后台对应的有了进程.那么进程管理究竟对于我们的日常运维工作有什么用呢? 主要作用有三点: 首先,最重要的是查看服务器健康状态 第二,查看系统中运行的所有进程 第三,杀死进程 我们用到进程最重要的作不就是用就是用来查看服务器的健康状态,做运维的不就是为了保证服务器能够一直这么正常运行吗? ① top命令 -->查看服务器健康状态 终端直接输入top,如图: 这里面最重要的就是前面的那5行,其中几个比较重要的参数如下: l

linux基础:进程管理

1.进程和程序(process and program) 首先我们对进程作一明确定义:所谓进程是由正文段(text).用户数据段(user segment)以及系统数据段(system segment)共同组成的一个执行环境. 程序只是一个普通文件,是一个机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映象(executable image)中,所以,程序是一个静态的实体.linux是一个多任务操作系统,也就是说,可以有多个程序同时装入内存并运行,操作系统为每个程序建立一个运行环

【linux】 linux中的进程管理相关的一些内容

_ linux进程管理 ■ top top命令用于动态地查看系统的进程和其他一些资源的信息.开启top的时候可以加上-t <sec>来设置top更新的频率高低.进入top界面之后,可以输入一些命令比如P表示以cpu资源占用率对进程排序,M表示以内存的使用率排序进程,N表示以PID的顺序排序等等.想要知道更多命令可键入?来查看 top的界面说明: 第一行:<当前时间> <开机到目前的总时间> <登录用户人数> <系统最近一分钟.五分钟.十五分钟的平均负载