嵌入式自学笔记之进程控制

2.1 进程号

​ 每个进程都由一个进程来标识,其类型为pid_t,进程号的范围为:0~32767

​ 进程号是由操作系统随机给当前进程分配的,不能自己控制

​ 进程号是唯一的,但进程号可以重用,当一个进程终止后,其进程号就可以再次使用了。

​ 在Ubuntu中查看当前系统中所有的开启的进程

ps ajx #这是查看所有的进程
ps  #查看当前路径的进程

在这里插入图片描述

PPID:当前进程的父进程号

PID:当前进程的进程号

PGID:当前进程所在的组的进程组ID

COMMAND:当前进程的名字

特殊的进程号

在Linux系统中,进程号由0开始。

​ 进程号为0和1的进程由内核创建

​ 进程号为0的进程通常是调度进程,常被称为交换进程(swapper)

​ 进程号为1的进程通常是init进程,init进程是所有进程的祖先。

​ 除调度进程外,在linux下面所有的进程都是有init进程直接或者间接创建的。

进程号(PID)

​ 标识进程的一个非负整型数。

父进程号(PPID)

​ 任何进程(除init进程)都是由另一个进程创建,该进程称为呗创建进程的父进程,对应的进程号称为父进程号(PPID)

进程组好(PGID)

​ 进程组是一个或多个进程的集合,他们之间相互关联,进程组可以接受同一终端的各种信号

Linux操作系统提供了三个获得进程号的函数getpid()、getppid()、getpgid()。

#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);
//功能:获取当前进程的进程号
pid_t getppid(void);
//功能:获取当前进程的父进程号
pid_t getpgid(pid_t pid);
//功能:获取当前进程所在进程组的ID

获取当前进程的进程号

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>

int main()
{
        //获取当前进程的进程号
        printf("pid= %d\n",getpid());
    	//获取当前进程的父进程号
    	printf("ppid= %d\n",getppid());
    	//获取当前进程的进程组号
    	printf("pgid=%d\n",getpgid());
        return 0;
}

自己在Ubuntu里面gcc一下就能看见结果啦!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值