进程标识-中国电信智慧城市白皮书

时间:2024-07-29 20:46:34
【文件属性】:

文件名称:进程标识-中国电信智慧城市白皮书

文件大小:18.36MB

文件格式:PDF

更新时间:2024-07-29 20:46:34

Unix 环境高级编程

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。


网友评论