用C语言编写一个应用程序,命名为b。这个程序不断地输出如下行:Thoseoutputcomefromchild,[系统时间]。另外写一个应用程序,命名为a。这个程序创建一个子进程,执行b。
时间: 2024-02-09 09:10:04 浏览: 84
回答您的问题,好的,我明白了!针对您的问题,以下是您所需要的C语言程序:
程序b:
```c
#include <stdio.h>
#include <time.h>
int main() {
while(1) {
time_t now;
time(&now);
printf("Those output come from child, [%s]", ctime(&now));
sleep(1); // 暂停1秒钟
}
return 0;
}
```
程序a:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main() {
pid_t pid = fork(); // 创建子进程
if (pid < 0) {
printf("创建子进程失败\n");
exit(1);
} else if (pid == 0) {
execlp("./b", "b", NULL); // 执行程序b
} else {
wait(NULL); // 等待子进程结束
printf("子进程已结束\n");
}
return 0;
}
```
程序a通过调用fork()函数创建子进程,在子进程中使用execlp()函数执行程序b,而父进程则等待子进程结束。程序b会不断地输出一行文字,其中包含当前系统时间。
阅读全文