Linux系统调用:获取进程PID

1.获取进程ID

每个进程都有一个唯一的非零进程PID,下面是得到这个PID的函数原型及相关头文件:

#include<sys/types.h>//pid_t定义在这个头文件中
#include<unistd.h>   //意为unix std,是POSIX标准定义的,包含许多系统服务的函数原型
pid_t getpid(void);//返回调用进程的PID
pid_t getppid(void);//返回父进程的PID
//pid_t 在types.h中被定义为int

使用示例:

//a.c
#include<sys/types.h>
#include<unistd.h>
int main()
{
	printf("pid: %d\n",getpid());
	printf("ppid: %d\n",getppid());
}
/*
	gcc -o getpid a.c
	./getpid
	重复多次可以发现每次运行结果中pid是不断变化的,可见每次创建进程随机分配一个pid
	但是ppid每次都是一样的,由此可见每次创建这个进程的进程(即父进程)是同一个。
*/

得到的ppid是一个正整数,在我的机器上是24176.

在/proc目录下可以看到很多进程的信息

linux> cd /proc
linux> ls
#找到示例运行得到的ppid
linux> cd 24176                       #进入进程信息目录
linux> ll                             #或ls -l
#下面是我得到的结果
total 0
dr-xr-xr-x  9 root root 0 Apr 19 13:45 .
dr-xr-xr-x 92 root root 0 May 22  2019 ..
dr-xr-xr-x  2 root root 0 Apr 19 13:55 attr
-rw-r--r--  1 root root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值