argvで受けたコマンドをexecvp関数によって実行したいです。
以下コードをつくってみたのですが、うまく動きません。
C
1#include<stdio.h> 2#include<unistd.h> 3#include<sys/wait.h> 4#include<string.h> 5 6 7int main(int argc,char* argv[]){ 8 9 10 int i=0; 11 char* p; 12 13 14 15 while(argv[i]!=NULL){ 16 i+=1; 17 } 18 argv=argv[1]; 19 20 21 pid_t pid=fork(); 22 23 24 if (pid > 0 ){ 25 26 int ret; 27 waitpid(pid,&ret,0); 28 29 } 30 else{ 31 32 execvp(argv[0], argv); 33 } 34} 35 36
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。