标签:pid 调用 屏蔽 user 获得 exec .com 自己 方法
进程是系统环境的一个基本组成部分,是系统资源的基本单位,UNIX系统中完成的工作几乎通过进程来控制。
进程有一个唯一标识PID(正整数)与之关联,创建进程就会获得其PID。
系统创建时就存在的几个特殊进程:
特殊的进程在0~n之间,普通用户的进程在 n+1 - MAXPID-1之间,用户PID通常比较大。
getpid()获取PID:
getppid()获取调用进程的父进程。
应用程序创建进程的唯一方法是在执行进程中fork新进程。
fork函数创建新进程,与当前进程构成父子关系。
若fork调用成功,则同时存在父进程和子进程且二者均从fork返回,但具有不同的返回值:子进程的返回值为0,而父进程返回的是子进程的PID。
fork返回的子进程的PID给父进程的原因:一个进程可以有多个子进程,因而无法通过函数获取到进程的子进程ID。fork返回0给子进程的原因因为每个子进程仅有一个父进程,子进程通过getppid()而获得父进程ID。
若调用失败,fork返回-1,并置errno指出失败原因(如EAGAIN没有足够资源用来创建进程或已经有太多进程在运行)。
当fork成功,父子进程均从fork之后一条语句继续执行,子进程几乎是父进程的复制。
1)共同特征
2)不同点
标签:pid 调用 屏蔽 user 获得 exec .com 自己 方法
原文地址:https://www.cnblogs.com/followyou/p/10043270.html