博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8.2 进程标识
阅读量:5950 次
发布时间:2019-06-19

本文共 1102 字,大约阅读时间需要 3 分钟。

8.2 进程标识

每个进程都有一个非负整型的唯一进程ID。因为进程ID标识符总是唯一的,常将其用做其他标识符的一部分以保证其唯一性。例如,应用程序有时就把进程ID作为名字的一部分创建一个唯一的路径名。

      虽然是唯一的,但是进程ID可以重用。当一个进程终止后,其进程ID就可以再次使用了。大多数UNIX系统实现延迟重用算法,使得赋予新建进程的ID不同于最近终止进程所使用的ID。这防止了将新进程误认为是使用同一ID的某个已终止的先前进程。

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

在某些U N I X的虚存实现中,进程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

注意,这些函数都没有出错返回,在下一节中讨论f o r k函数时,将进一步讨论父进程ID4 . 4节中已讨论了实际和有效用户及组ID

转载于:https://www.cnblogs.com/shaoguangleo/archive/2011/10/13/2806012.html

你可能感兴趣的文章
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
使用Jmeter进行http接口测试
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
python自动化创建mysql多实例
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
网址收藏
查看>>
2013 Linux领域年终盘点
查看>>
大学生暑期实践活动---关注少数民族孤寡老人
查看>>
linux学习之查看程序端口占用情况
查看>>
linux下配置安装OpenJDK+Tomcat
查看>>
相逢在栀枝花开的季节
查看>>
Ajax实现直链(点击量统计)
查看>>
linux下git自动补全命令
查看>>
Ubuntu14.04LTS更新源
查看>>
Ubuntu上hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程
查看>>
oracle分区表、分区索引
查看>>