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

getpid()函数

创建任何进程时,它都具有唯一的id,称为进程ID。getpid()函数返回调用进程的进程ID。【视频教程推荐:C语言教程】

基本语法:

pid_t getpid(void);

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

getppid()函数

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

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

基本语法:

pid_t getppid(void);

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

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

代码示例(C语言):

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

#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(void){//存储调用函数进程ID的变量pid_t process_id;//存储父函数进程ID的变量pid_t p_process_id;//getpid() - 将返回调用函数的进程IDprocess_id = getpid();//getppid() - 将返回父函数的进程IDp_process_id = getppid();//输出进程IDprintf("调用函数的进程ID:%d\n",process_id);printf("父函数的进程ID:%d\n",p_process_id);return 0;}

输出:

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

说明:头文件

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

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

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

更多相关文章

  1. C中的time()函数怎么用?
  2. C ++中Accessor函数的特征
  3. C中如何声明指向函数的指针?
  4. C/C++函数如何返回多个值?(代码示例)
  5. C++ vector容器函数使用范例
  6. 什么是虚函数
  7. C++学习之new()和malloc()函数
  8. srand(time(null))函数是什么意思
  9. srand(time(0))函数是什么意思

随机推荐

  1. Android(安卓)开发中Parcel存储类型和数
  2. android Animation
  3. Android系列教程之前言
  4. The difference between '?attr' between
  5. Android基础(一)
  6. Android(安卓)安全机制概述
  7. Android(安卓)Jni代码示例讲解
  8. VS2019中用xamarin开发Android,显示需要an
  9. 快速进入Android世界
  10. Android控件编辑时键盘弹起与关闭处理