请给出linux下c语言两个进程交替执行
时间: 2024-05-02 07:16:36 浏览: 120
两个线程交替执行
4星 · 用户满意度95%
下面是一个简单的例子,其中使用了fork()函数创建了两个进程,它们交替睡眠和执行,直到达到指定的次数。
```c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main() {
pid_t pid;
int i;
for (i = 0; i < 10; i++) {
pid = fork();
if (pid < 0) {
printf("Fork error\n");
} else if (pid == 0) {
printf("Child process %d is running\n", i);
sleep(1);
} else {
printf("Parent process %d is running\n", i);
sleep(1);
}
}
return 0;
}
```
在这个例子中,我们使用了一个循环来创建10个子进程。在每次循环中,我们使用fork()函数创建一个新的进程,并根据返回值来判断是在父进程还是在子进程中运行。在子进程中,我们打印它的编号并睡眠1秒钟。在父进程中,我们也打印它的编号并睡眠1秒钟。这样,两个进程就会交替执行了。
阅读全文