进程控制

进程控制

fork函数

创建一个子进程。

pid_t fork(void); 失败返回-1;成功返回:① 父进程返回子进程的ID(非负) ②子进程返回 0

pid_t类型表示进程ID,但为了表示-1,它是有符号整型。(0不是有效进程ID,init最小,为1)

​ 注意返回值,不是fork函数能返回两个值,而是fork后,fork函数变为两个,父子需【各自】返回一个。

进程id相关函数

getpid函数

获取当前进程ID

​ pid_t getpid(void);

getppid函数

​ 获取当前进程的父进程ID

​ pid_t getppid(void);

区分一个函数是“系统函数”还是“库函数”依据:

  1. 是否访问内核数据结构
  2. 是否访问外部硬件资源
  3. 二者有任一 → 系统函数;二者均无 → 库函数

getuid函数

获取当前进程实际用户ID

uid_t getuid(void);

​ 获取当前进程有效用户ID

uid_t geteuid(void);

getgid函数

​ 获取当前进程使用用户组ID

gid_t getgid(void);

​ 获取当前进程有效用户组ID

gid_t getegid(void);

posted @ 2020-02-17 17:56  friedCoder  阅读(73)  评论(0)    收藏  举报