-
直接转换进程标识-数据流图至模块结构图的方法
资源介绍
8.2 进程标识
每个进程都有一个非负整型的唯一进程 I D。因为进程 I D标识符总是唯一的,常将其用做其
他标识符的一部分以保证其唯一性。 5 . 1 3节中的 t m p n a m函数将进程 I D作为名字的一部分创建
一个唯一的路径名。
有某些专用的进程:进程 ID 0是调度进程,常常被称为交换进程 ( s w a p p e r )。该进程并不执
行任何磁盘上的程序—它是内核的一部分,因此也被称为系统进程。进程 ID 1通常是 i n i t进
程,在自举过程结束时由内核调用。该进程的程序文件在 U N I X的早期版本中是 / e t c / i n i t,在较
新版本中是 / s b i n / i n i t。此进程负责在内核自举后起动一个 U N I X系统。i n i t通常读与系统有关的
初始化文件 ( / e t c / r c*文件),并将系统引导到一个状态 (例如多用户 )。i n i t进程决不会终止。它是
一个普通的用户进程 (与交换进程不同,它不是内核中的系统进程 ),但是它以超级用户特权运
行。本章稍后部分会说明 i n i t如何成为所有孤儿进程的父进程。
在某些U N I X的虚存实现中,进程ID 2是页精灵进程( p a g e d a e m o n )。此进程负责支持虚存系
统的请页操作。与交换进程一样,页精灵进程也是内核进程。
除了进程I D,每个进程还有一些其他标识符。下列函数返回这些标识符。
#include
#include
pid_t getpid(void); 返回:调用进程的进程I D
pid_t getppid(void); 返回:调用进程的父进程I D
uid_t getuid(void); 返回:调用进程的实际用户 I D
uid_t geteuid(void); 返回:调用进程的有效用户 I D
gid_t getgid(void); 返回:调用进程的实际组I D
gid_t getegid(void); 返回:调用进程的有效组I D
注意,这些函数都没有出错返回,在下一节中讨论 f o r k函数时,将进一步讨论父进程 I D。4 . 4节
中已讨论了实际和有效用户及组 I D。
- 上一篇: VXFS-FSCK-MOUNT
- 下一篇: 系统标识-数据流图到模块结构图的直接转换方法