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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。