我是C语言中的系统编程新手。 我想在exec *函数系列之后执行代码,但我不知道究竟是怎么回事。
我已经读过我需要fork,然后尝试在exec *函数之后执行代码。我做了fork我的进程,但是exec *函数之后的代码仍然无效。
到目前为止,这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char *argv[]){
printf("Programme de manipulation de recouvrement en C\n\n");
int status,infoStats;
pid_t processusFils;
//Usage du programme
if(argc == 1){
printf("USAGE : %s args1 ... argN \n\n",argv[0]);
exit(1);
}
processusFils = fork();
if(processusFils < 0){
perror("Erreur fork du processus fils ");
exit(1);
}
if(processusFils == 0){
execvp(argv[1],argv+1);
exit(0);
}
printf("Hello world \n");
return 0;
}
请问好吗? 谢谢
答案 0 :(得分:0)
经过多次编辑,如果有人需要,这是正确的答案。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char *argv[]){
printf("Programme de manipulation de recouvrement en C\n\n");
int nombre1,nombre2;
pid_t processusFils;
//Usage du programme
if(argc == 1){
printf("USAGE : %s args1 ... argN \n\n",argv[0]);
exit(1);
}
processusFils = fork();
wait(NULL);
if(processusFils < 0){
perror("Erreur fork du processus fils ");
exit(1);
}
if(processusFils == 0){
execvp(argv[1],argv+1);
exit(0);
}
printf("Hello world \n");
return 0;
}
我们只需要添加一个等待(NULL),以便我们等待&#34;子进程&#34;的终止。之后,它将继续执行代码。
祝你好运哈吉尔