linux应用开发-进程管理

来源:互联网 发布:在职法律硕士 知乎 编辑:程序博客网 时间:2024/05/18 15:24
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
0 0
原创粉丝点击