test1:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("this is in the new process...\n");
sleep(5);
printf("I have sleep 5 seconds...\n");
}
test2:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void f(void)
{
printf("After exec the new process...\n");
}
int main(void)
{
if(fork()==0)
{
execv("./test1",NULL);
}
f();
}
test3:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void f(void)
{
printf("After exec the new process...\n");
}
int main(void)
{
if(fork()==0)
{
if(execv("./te

本文探讨了在Linux C编程中如何使用`system`和`execv`函数创建新进程。实验涵盖了不同的场景,如`fork`后`execv`执行新进程而不影响原进程,`execv`执行成功后不返回,以及`system`调用的返回行为。测试用例包括了对进程执行流程和执行效果的详细说明。
最低0.47元/天 解锁文章
877

被折叠的 条评论
为什么被折叠?



