1. 首页
  2. 考试认证
  3. 其它
  4. 进程标识-hds ams 2500用户手册

进程标识-hds ams 2500用户手册

上传者: 2024-07-22 17:37:03上传 PDF文件 17.98MB 热度 8次

8.2 进程标识

每个进程都有一个非负整型的唯一进程ID。因为进程ID标识符总是唯一的,常将其用作其他标识符的一部分以保证其唯一性。5.13节中的 tmpnam函数 将进程ID作为名字的一部分创建一个唯一的路径名。

有某些专用的进程:进程ID 0是调度进程,常被称为交换进程(swapper)。该进程并不执行任何磁盘上的程序—它是内核的一部分,因此也被称为系统进程。进程ID 1通常是init进程,在自举过程结束时由内核调用。该进程的程序文件在UNIX的早期版本中是/etc/init,在较新版本中是/sbin/init。此进程负责在内核自举后启动一个UNIX系统。init通常读取与系统有关的初始化文件(/etc/rc*文件),并将系统引导到一个状态(例如多用户)。init进程决不会终止。它是一个普通的用户进程(与交换进程不同,它不是内核中的系统进程),但是它以超级用户特权运行。本章稍后部分会说明init如何成为所有孤儿进程的父进程。在某些UNIX的虚存实现中,进程ID 2是页精灵进程(pagedaemon)。此进程负责支持虚存系统的请页操作。与交换进程一样,页精灵进程也是内核进程。

除了进程ID,每个进程还有一些其他标识符。下列函数返回这些标识符。


#include 

#include 



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

注意,这些函数都没有出错返回。在下一节中讨论fork函数时,将进一步讨论父进程ID。4.4节中已讨论了实际和有效用户及组ID。

对于更多关于Unix进程的信息,可以参考这篇理解Unix进程的文章,深入了解进程管理和通信机制!

下载地址
用户评论