2、在当前进程中创建一个子进程,并给子进程加载新程序hello,hello程序即显示“Hello, World!”即可,并保证子进程先于父进程执行。
时间: 2024-03-12 15:45:45 浏览: 46
在计算机屏幕上显示Hello World!
可以使用C语言中的fork()和exec()函数来实现这个功能。具体实现如下:
```c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main() {
pid_t pid;
pid = fork(); // 创建子进程
if (pid < 0) {
printf("Failed to create child process.\n");
exit(1);
} else if (pid == 0) {
// 子进程中调用exec函数执行hello程序
if (execl("/path/to/hello", "hello", NULL) < 0) {
printf("Failed to execute hello program.\n");
exit(1);
}
} else {
// 父进程中等待子进程结束
wait(NULL);
printf("Child process finished.\n");
exit(0);
}
return 0;
}
```
其中,fork函数用于创建子进程,如果返回值小于0表示创建失败,返回值等于0表示当前进程是子进程,返回值大于0表示当前进程是父进程。
在子进程中,调用execl函数执行hello程序,第一个参数是要执行的程序的路径,第二个参数是程序名,第三个参数是参数列表,必须以NULL结尾。如果execl函数返回小于0,表示执行失败。
在父进程中,调用wait函数等待子进程结束,如果子进程结束了,wait函数返回0,否则会一直等待。然后输出提示信息,最后调用exit函数退出进程。
阅读全文