【Linux操作系统】C语⾔获取进程ID并打印进程ID
因为项⽬需要根据业务情况调整进程的调度策略和进程优先级,所以需要先获取进程的ID。 printf输出格式linux
在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函数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论