杂记之UNIX之ID概念

来源:互联网 发布:电脑机器人编程软件 编辑:程序博客网 时间:2024/05/22 09:48

程序

程序是存放在磁盘上、处于某个目录的一个可执行文件。

进程

程序的执行实例被称为进程。或者称为任务。

Unix系统确保每个进程都有一个唯一的标识符,称为进程ID(process id)。

#include <apue.h>int main(void){printf("hello world from process ID %d\n",getuid());        exit(0);}


         用户ID(usrer id)  口令文件登录项中的用户ID(user ID)是个数值,它向系统标识各个不同的用户。系统管理员

                        在确定一个用户的登录名的同时,确定其用户ID。用户不能更改其用户ID。通常每个用户有一

                        个唯一的用户ID。  

         组ID(grouo ID),它是一个数值。组ID也是由系统管理员在指定用户名时分配的。

上述分别简称pid/uid/gid,执行函数时分别前加上get,分别为getpid,getuid,getgid。

还有附加组ID(supplement  group ID):除了在口令文件中对一个登录名指定一个组ID外,大多数UNIX 系统版本还允许一个用户属于另外的组。

多至16个。

进程ID总是一非负数。调用函数getpid()可得到其进程ID。

还有三个用于控制进程控制的主要函数:fork、exec和waitpid。

线程和线程ID

通常,一个进程只有一个控制线程(thread),同时时刻只执行一组机器指令。对于某些问题,如果不同部分各使用一个控制线程,

那么整个问题解决起来就容易的多。另外,多个控制线程也能充分利用多处理器系统的并行关系。

线程ID只在它所属的进程内起作用。一个进程ID在另一个进程中并无意义。我们用线程ID引用相应的线程。

原创粉丝点击