Linux下用C语言编写一个应用程序,命名为b。这个程序不断地输出如下行:Those output come from child,[系统时间] 。另外写一个应用程序,命名为a。这个程序创建一个子进程,执行b。
时间: 2024-02-25 21:59:02 浏览: 67
用C语言写的一些程序
好的,我了解了你的要求。我来给你提供一个简单的 C 语言程序,其中包括一个名为 b 的子进程,不断输出指定格式的信息。同时,还有一个名为 a 的程序,用于创建子进程并执行 b。
程序 a 的代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
pid_t pid;
int status;
pid = fork();
if (pid < 0) {
fprintf(stderr, "Fork failed\n");
exit(1);
} else if (pid == 0) {
/* 子进程 */
execl("./b", "b", NULL);
} else {
/* 父进程 */
waitpid(pid, &status, 0);
printf("Child process finished\n");
}
return 0;
}
```
程序 b 的代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
int main()
{
while (1) {
time_t now;
struct tm *tm_now;
char time_str[20];
/* 获取系统时间 */
time(&now);
tm_now = localtime(&now);
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", tm_now);
/* 输出指定格式的信息 */
printf("Those output come from child, [%s]\n", time_str);
/* 等待一秒钟 */
sleep(1);
}
return 0;
}
```
编译程序 a 和 b:
```bash
gcc a.c -o a
gcc b.c -o b
```
运行程序 a:
```bash
./a
```
程序 a 将会创建一个子进程,执行程序 b。程序 b 将会不断输出指定格式的信息。程序 a 将会等待子进程结束,然后输出 "Child process finished"。注意,程序 b 将会一直运行,直到被手动终止。
阅读全文