C语言获取进程ID的方法

  介绍

小编给大家分享一下C语言获取进程ID的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

我们可以使用getppid()和getpid()函数来获取进程ID,它们都是unistd.h库中定义的内置函数,都可以返回进程ID。下面本篇文章就来给大家简单介绍一下getppid()和getpid()函数,了解在Linux系统中使用C语言如何获取进程ID

 C语言获取进程ID的方法

创建任何进程时,它都具有唯一的ID,称为进程ID.getpid()函数返回调用进程的进程ID。

基本语法:

pid_t getpid(空白);

返回类型:getpid()函数返回当前进程的进程ID,它永远不会抛出任何错误,因此总是成功的。

getppid()函数:返回调用进程的父进程的进程ID。

说明:如果调用进程是由fork()函数创建的,并且在getppid()函数调用时父进程仍然存在,则此函数返回父进程的进程ID。否,则此函数返回值1,该值是init进程的进程ID。

基本语法:

pid_t getppid(空白);

返回类型:getppid()函数返回当前进程的父进程的进程ID;它从不抛出任何错误,因此总是成功的。

<强>注: pid_t是进程ID的类型,它是无符号整数类型的数据类型。

下面看看在Linux系统中使用C语言如何获取调用进程ID和父进程ID。

# include & lt; stdio.h>   # include & lt; sys/types.h>   # include & lt; unistd.h>   int主要(空白)   {//存储调用函数进程ID的变量   pid_t process_id;//存储父函数进程ID的变量   pid_t p_process_id;//getpid()——将返回调用函数的进程ID   process_id=getpid ();//getppid()——将返回父函数的进程ID   p_process_id=getppid ();//输出进程ID   printf(“调用函数的进程ID: % d \ n", process_id);   printf(“父函数的进程ID: % d \ n", p_process_id);   返回0;   }

输出:

调用函数的进程ID: 31120   父函数的进程ID: 31119

<强>说明:头文件

●stdio。h:用于printf()函数

●sys/类型。h:用于pid_t类型,即用于存储进程ID的变量的数据类型。

●unistd。h:用于getpid()和getppid()函数

看完了这篇文章,相信你对C语言获取进程ID的方法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

C语言获取进程ID的方法