一、进程管理
0、网站收藏
http://www.360doc.com/content/13/0715/09/7775902_300057923.shtml
https://www.cnblogs.com/yanghaizhou/p/7705520.html
https://blog.csdn.net/gatieme/article/details/51577479
http://www.cnblogs.com/20135235my/p/5398066.html
https://blog.csdn.net/gatieme/article/details/52067748
https://blog.csdn.net/u010217401/article/details/66968182
https://www.cnblogs.com/jikexianfeng/articles/5648057.html
https://blog.csdn.net/absinjun/article/details/79462124
1.Linux 进程和线程如何创建、退出?
进程退出的时候,自己没有释放的资源(如内存没有 free)会怎样?
答:
进程创建:无论用户态是什么接口,再内核态都是 do_fork。linux 提供的
系统调用为 sys_fork/sys_vfork/sys_clone
进程退出:用户态接口为 exit, _exit, Exit, return 等正常退出,也有 abort
或 ctrl+c 等异常退出;在内核侧接口为 do_exit
进程退出时,会释放内存空间,进程线性空间与物理内存的映射关系也会取
消,即使进程自身没 free,在进程退出时也会被系统回收。
线程退出时,如果未释放内存资源,则在进程组退出之前,这段内存是不会
被系统回收的,因为线程用的是系统的 heap,没有自己独立的 heap。
线程创建:pthread_create
线程退出:pthread_exit/主函数 return/pthread_cancel/异常退出
子进程创建,退出:同进程的创建和退出
评论0
最新资源