进程

进程

进程ID

  • 进程ID的复用:大部分采用延迟复用算法。防止将新进程误认为是使用同一ID的先前进程。

  • 0 调度进程 (系统进程) ;1 init进程(程序文件存放在/sbin/init),在自举过程结束后由内核调用,读取系统初始化文件(/etc/rc*,/etc/init.d,/etc/inittab)

pid_t fork(void)

子进程:返回值为0

父进程:返回值为子进程的进程ID

描述:子进程和父进程继续执行fork调用之后的指令;子进程获得父进程的数据空间、堆栈的副本。注意副本不是共享。子父进程共享正文段

子进程会复制父进程所有的文件描述符,如同dup函数操作一般。二者指向同一个文件表项,注意当前文件偏移量也包括在文件表项之中。

fork失败的一般原因:1、该实际用户的进程总数超过了系统限制(CHILD——MAX)

​ 2、系统中已经存在了太多的进程

接口

include<unistd.h>

pid_t getpid(void); 读取进程ID

pid_t getppid(void); 读取父进程ID

uid_t getuid(void); 读取进程的实际用户ID

uid_t geteuid(void); 读取进程的有效用户ID

gid_t getgid(void); 读取进程的实际组ID

gid_t getegid(void); 读取进程的有效组ID

posted @ 2021-05-30 20:39  blog-morui  阅读(64)  评论(0)    收藏  举报