C语言怎么获取进程PID
时间: 2023-11-13 12:06:07 浏览: 369
在C语言中,可以使用系统调用 `getpid()` 函数来获取当前进程的PID。如果需要获取其他进程的PID,可以使用系统调用 `fork()` 来创建一个新的进程,在子进程中使用 `getpid()` 函数获取自身的PID,然后在父进程中获取子进程的PID。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid;
pid = getpid(); // 获取当前进程的PID
printf("Current process PID: %d\n", pid);
pid = fork(); // 创建一个子进程
if (pid == 0) {
pid = getpid(); // 在子进程中获取自身的PID
printf("Child process PID: %d\n", pid);
} else {
printf("Parent process PID: %d\n", pid);
}
return 0;
}
```
上述代码中,我们首先使用 `getpid()` 函数获取当前进程的PID,并输出到控制台。然后,我们使用 `fork()` 函数创建一个子进程,如果 `fork()` 函数返回值为0,则表示当前代码在子进程中执行,我们在子进程中再次调用 `getpid()` 函数获取自身的PID,并输出到控制台;如果 `fork()` 函数返回值大于0,则表示当前代码在父进程中执行,我们直接输出 `fork()` 函数的返回值即为子进程的PID。
阅读全文