pid: process id,进程ID
ppid: parent process id,父进程ID
uid: real user id, 用户ID
euid: effective user id,有效用户ID
gid: real group id,组ID
egid: effictive group id,有效组ID
下面来看一下简单程序的输出:
执行结果为:
[chinsung@thinkpad apue]$ ./a.out
getpid: 9102
getppid: 3705
getuid: 1000
geteuid: 1000
getgid: 1000
getegid: 1000
[chinsung@thinkpad apue]$ ps aux | grep '3705'
chinsung 3705 0.0 0.0 20044 2224 pts/1 Ss 10:23 0:00 /bin/bash
chinsung 9105 0.0 0.0 12260 996 pts/1 S+ 15:17 0:00 grep 3705
在我的系统中,当前用户名为chinsung,其用户ID为1000,所属组为chinsung,其组ID也为1000,可以从上面的结果中看出,在本程序中uid和euid是等价的,gid和egid是等价的。当前进程的父进程为shell。
ppid: parent process id,父进程ID
uid: real user id, 用户ID
euid: effective user id,有效用户ID
gid: real group id,组ID
egid: effictive group id,有效组ID
下面来看一下简单程序的输出:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
printf(
"getpid: %d\ngetppid: %d\ngetuid: %d\ngeteuid: %d\ngetgid: %d\ngetegid: %d\n",
getpid(), getppid(), getuid(), geteuid(), getgid(),
getegid());
return 0;
}执行结果为:
[chinsung@thinkpad apue]$ ./a.out
getpid: 9102
getppid: 3705
getuid: 1000
geteuid: 1000
getgid: 1000
getegid: 1000
[chinsung@thinkpad apue]$ ps aux | grep '3705'
chinsung 3705 0.0 0.0 20044 2224 pts/1 Ss 10:23 0:00 /bin/bash
chinsung 9105 0.0 0.0 12260 996 pts/1 S+ 15:17 0:00 grep 3705
在我的系统中,当前用户名为chinsung,其用户ID为1000,所属组为chinsung,其组ID也为1000,可以从上面的结果中看出,在本程序中uid和euid是等价的,gid和egid是等价的。当前进程的父进程为shell。

本文介绍了Linux系统中进程ID的相关概念,包括进程ID (PID)、父进程ID (PPID)、真实用户ID (UID)、有效用户ID (EUID)、真实组ID (GID) 和有效组ID (EGID)。并通过一个简单的C程序示例展示了这些ID的获取方法及输出结果。
3万+

被折叠的 条评论
为什么被折叠?



