c语言编写一个进程程序,创建一个子进程,调用等待函数等待10s,打印输出进程的ID号
时间: 2024-09-18 12:07:34 浏览: 69
Linux中使用C语言的fork()函数创建子进程的实例教程
在C语言中,可以使用`fork()`函数创建子进程,然后在子进程中使用`sleep()`函数暂停一段时间,最后通过`printf()`打印子进程的ID号。下面是一个简单的示例:
```c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main() {
pid_t pid; // 子进程ID
// 创建子进程
if ((pid = fork()) < 0) {
perror("Fork failed");
exit(EXIT_FAILURE);
}
// 父进程无需等待,直接返回
if (pid > 0) {
printf("Parent process ID: %d\n", getpid()); // 打印父进程ID
return 0;
} else if (pid == 0) {
// 子进程部分
sleep(10); // 子进程等待10秒
printf("Child process ID: %d\n", getpid()); // 打印子进程ID
} else {
perror("Invalid PID");
exit(EXIT_FAILURE);
}
return 0;
}
```
在这个程序里,主进程创建了一个子进程,并立即返回。子进程在执行到`sleep(10)`时会暂停10秒,然后打印出它的进程ID。
阅读全文