码迷,mamicode.com
首页 > 系统相关 > 详细

进程控制(二)---进程标识符

时间:2016-10-01 16:58:46      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

  Linux操作系统中为了区分每一个进程,为每个进程分配一个唯一的进程号,也称为进程ID。进程 ID 是保存在进程的 PCB 中,属于进程的内核资源。
  每个进程的进程 ID 虽然是唯一的,但是进程 ID 是可以重用的,当一个进程被终止时,其所有的资源将会被释放,也包括进程 ID。当系统再次创建一个新的进程时,可以为其分配已经被释放的进程 ID 。由于操作系统采用延迟重用算法,所以为刚创建的进程分配的进程 ID通常不会是刚被释放的进程 ID 。
  操作系统中有些进程的进程 ID 是固定的,比如 调度进程的进程 ID 为0,init 进程的进程 ID 为1。这些进程都是特殊的进程。
======================================================================
  前面提到了,进程 ID 保存在进程的 PCB 中,属于进程的内核资源,所以在用户空间中是无法直接获取到进程 ID 的,必须要通过系统调用来获取。下面介绍几个系统调用
函数原型:
技术分享
技术分享
返回值:
  • 这个函数不会出错,总会返回进程的进程 ID
函数原型:
技术分享
技术分享
返回值:
  • 同样不会出错,总会返回此进程的父进程 ID
函数原型:
技术分享
技术分享
返回值:
  • 这两个函数也不会出错,总是返回进程的实际用户 ID 和进程的有效用户 ID
注意:这几个系统调用中的进程 ID 使用了pid_t 类型,用户 ID 使用了 uid_t类型。以后在写程序的时候应该也要使用这种类型来定义变量。

进程控制(二)---进程标识符

标签:

原文地址:http://www.cnblogs.com/frank-yxs/p/5925876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!