LINUX进程的N多ID

什么PID,PPID,PGID,PGRPID

SID,

UID,EUID,GID,EGID,

这些信息都保存在PCB(进程控制块)的结构体STRUCT TASK_STRUCK中。

例码:

 1 #include <stdio.h>
 2 #include <unistd.h>
 3
 4 int main(int argc, char *argv[])
 5 {
 6     int i;
 7     printf("\tuid\tgid\teuid\tegid\n");
 8     printf("parent\t%d\t%d\t%d\t%d\n", getuid(), getgid(), geteuid(), getegid())
 9 ;
10     if(fork() == 0)
11     {
12         printf("child\t%d\t%d\t%d\t%d\n", getuid(), getgid(), geteuid(), getegid
13 ());
14    }
15     printf("\t pid\t ppid \t pgid\n");
16     printf("parent\t%d\t%d\t%d\n", getpid(), getppid(), getpgid(0));
17     for(i = 0; i < 2; i++)
18     {
19         if(fork() == 0)
20                 printf("child \t%d\t%d\t%d\n", getpid(), getppid(), getpgid(0));
21     }
22     return 0;
23 }

 

时间: 2024-11-18 17:37:50

LINUX进程的N多ID的相关文章

Linux进程ID号--Linux进程的管理与调度(三)

进程ID概述 进程ID类型 要想了解内核如何来组织和管理进程ID,先要知道进程ID的类型: 内核中进程ID的类型用pid_type来描述,它被定义在include/linux/pid.h中 enum pid_type { PIDTYPE_PID, PIDTYPE_PGID, PIDTYPE_SID, PIDTYPE_MAX }; 1 2 3 4 5 6 7 1 2 3 4 5 6 7 PID 内核唯一区分每个进程的标识 pid是 Linux 中在其命名空间中唯一标识进程而分配给它的一个号码,称做

Linux进程间的关系

Linux的进程相互之间有一定的关系.比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构.我们在这里讲解进程组和会话,以便以更加丰富的方式了管理进程. 1. 进程组 (process group) 每个进程都会属于一个进程组(process group),每个进程组中可以包含多个进程.进程组会有一个进程组领导进程 (process group leader),领导进程的PID (PID见Linux进程基础)成为进程组的ID (proce

Linux进程和线程的基础与管理

  一.进程的基本概念 程序是为了完成某种任务而设计的软件,比如vi是程序.什么是进程呢? 进程就是运行中的程序.一个运行着程序,可能有多个进程.比如Web服务器是Apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户同时请求httpd,Apache服务器将会创建多个httpd进程来对其进行服务. 首先我们看看进程的定义.进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序.进程作为构成系统的基本细胞,不仅是系统内部独立运行

关于Linux进程你所需要知道的一切

在这篇指南中,我们会逐步对进程做基本的了解,然后简要看看如何用特定命令管理 Linux 进程. 进程(process)是指正在执行的程序;是程序正在运行的一个实例.它由程序指令,和从文件.其它程序中读取的数据或系统用户的输入组成. 进程的类型 在 Linux 中主要有两种类型的进程: 前台进程(也称为交互式进程) - 这些进程由终端会话初始化和控制.换句话说,需要有一个连接到系统中的用户来启动这样的进程;它们不是作为系统功能/服务的一部分自动启动. 后台进程(也称为非交互式/自动进程) - 这些

linux 进程(一)---基本概念

一.进程的定义         进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放.可以认为进程是一个程序的一次执行过程.   二.进程与程序的区别          程序时静态的,它是一些保存 在磁盘上得指令的有序集合,没有任何执行的概念.     进程是一个动态的概念,它是程序执行的过程,包括创建.调度和消亡.   三.linux系统中进程的表示       在linux系统中,进程由一个叫task_struct的结构体描述,

无需Ptrace就能实现Linux进程间代码注入

本文讲的是无需Ptrace就能实现Linux进程间代码注入, ptrace系统调用 ptrace系统调从名字上看是用于进程跟踪的,它提供了父进程可以观察和控制其子进程执行的能力,并允许父进程检查和替换子进程的内核镜像(包括寄存器)的值.其基本原理是: 当使用了ptrace跟踪后,所有发送给被跟踪的子进程的信号(除了SIGKILL),都会被转发给父进程,而子进程则会被阻塞,这时子进程的状态就会被系统标注为TASK_TRACED.而父进程收到信号后,就可以对停止下来的子进程进行检查和修改,然后让子进

详解Linux进程及作业管理

一.进程查看及其管理工具 ps命令:报告当前进程的快照信息 ps - report a snapshot of the current processes.  选项: -A:显示所有进程与-e相同的效果 -a:不与终端相关的所有进程 -u:与用户相关的进程 -x:通常和a,u结合使用,显示出来比较全面的信息 -f:做一个更为完整的输出 常用的组合: ps -ef 以完整的信息显示所有进程信息 ps -efH 显示进程层次结构 ps -aux 显示所有不与终端和与终端相关的进程完整信息 ps -a

Linux进程及进程通讯

一.进程特点及关键字. 1. 基础 [概念]一个具有一定独立功能的程序的一次运行. [特点]动态性,并发性,独立性,异步性. [状态]就绪,执行,阻塞. 2. 几个关键字 [PID/PPID]标示进程的唯一数字,PPID特指父进程ID. [UID]启动进程用户. 3. 临界资源与临界区 [临界资源]资源只允许指定数量的进程同时访问. [临界区]进程中访问临界资源的代码. [进程同步]并发进程按照一定顺序执行的过程. 4. 进程调度--按照一定的算法从一组待运行的进程中选出一个来占有CPU运行.

如何灵活运用Linux进程资源监控和进程限制

每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快照或者动态更新. 为了使用这个工具,你首先需要安装 sysstat: # yum update && yum in