我们可以使用getppid()和getpid()函数来获取进程ID,它们都是unistd.h库中定义的内置函数,都可以返回进程ID。下面本篇文章就来给大家简单介绍一下getppid()和getpid()函数,了解在Linux系统中
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() - 将返回调用函数的进程ID process_id = getpid(); //getppid() - 将返回父函数的进程ID p_process_id = getppid(); //输出进程ID printf("调用函数的进程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()函数
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注自由互联相关教程栏目!!!
以上就是C语言如何获取进程ID?(代码实例)的详细内容,更多请关注自由互联其它相关文章!