• 【Linux操作系统】C语言获取进程ID并打印进程ID


      因为项目需要根据业务情况调整进程的调度策略和进程优先级,所以需要先获取进程的ID。  

      在Linux操作系统中,如果要使用C语言获取进程ID,可以利用两个接口getppid()和getpid()来获取进程ID,他们都是unistd.h库中定义的内置函数。

    一.getpid()函数

      系统中的任何进程都有唯一的ID标识它们,创建它们的时候,它们也都会被分配唯一的ID。getpid()函数返回的是调用进程(即调用这个函数的进程)的进程ID。

      基本的语法为:pid_t  getpid(void);(pid_t是进程ID的类型,它是无符号整数类型的数据类型)

      返回值:返回值的类型为int;返回值即为当前进程的进程ID;它永远不会抛出任何错误,所以它总是成功的。

    二.getppid()函数

      getppid()函数用来返回调用进程的父进程ID。如果调用进程是用fork()函数创建的,并且在getppid()函数调用时其父进程还存在着,那么这个函数就会返回父进程的进程ID,否则就会返回一个值1,这个值是init进程的进程ID。

      基本语法:pid_t  getppid(void);

      返回值:返回值的类型为Int;返回值为当前进程的父进程ID;它永远不会抛出任何错误,因此总是成功的。

    三.代码说明

      下面通过一段简单的代码说明一下Linux系统中使用C语言如何获取调用进程ID和父进程。

      

            输出结果如下:

           

      说明:头文件

      1. stdio:用于printf()函数的头文件;

      2. sys/types.h:用于pid_t类型,也就是用于存储进程ID的变量的数据类型;

      3. unistd.h:用于getpid和getppid函数。

      

  • 相关阅读:
    07、从0到1:API测试怎么做?
    06、软件测试工程师的核心竞争力是什么?
    05、如何高效填写软件缺陷报告?
    04、你知道软件开发各阶段都有哪些自动化测试技术吗?
    03、为什么要做自动化测试?什么样的项目适合做自动化测试
    02、如何设计一个"好的"测试用例
    01、你真的懂测试吗?从"用户登录"测试谈起
    2020年03月15号--提升团队工作效率的一些方法
    01月02号总结
    ietester
  • 原文地址:https://www.cnblogs.com/coreLeo/p/16015862.html
Copyright © 2020-2023  润新知