私はCでシステムプログラミングを初めて行っています。 exec *関数ファミリの後にコードを実行したいと思いますが、正確には分かりません。exec *関数ファミリの後にコードを実行
フォークし、exec *関数の後にコードを実行しようとしていることを読んだことがあります。私はプロセスをフォークしましたが、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;
}
任意のアイデアしてください? ありがとうございました
幸運私は、あなたが 'printf'が動作していない意味を前提としています。それにもかかわらず、あなたがここに投稿したものは私のために働く。 – WhozCraig
@WhozCraig、はい、これは私の言いたいことです。 printf文はexec関数を呼び出した後には動作しません。 –
どうすればよろしくお願いしますか? –