도와주세요!!
안녕하세요
exevce에 대해서 궁금해서 글 올려보아요~
3 #include <stdio.h>
4 #include <unistd.h>
5
6 char **_envp;
7
8 int main(int argc, char **argv, char **envp)
9 {
10
11 char pst[512]={0};
12 char cmd[512]={0};
13 char *args[4]={0};
14
15 _envp = envp;
16
17 if(argc < 2){
18
19 sprintf(cmd,"./taeha_execve.sh");
20 args[0] = "sh";
21 args[1] = "-c";
22 args[2] = cmd;
23 args[3] = 0;
24
25 printf("하하 1");
26 execve("/bin/sh", args, _envp);
27 printf("하하 2");
28 exit(0);
29 }
30
31 //execve( "./show_envp", argv, envp);
32 printf( "이 메시지가 보이면 지정된 프로그램이 없거나 어떤문제로 실행되지 못한 것입니다.");
33
34 }
위의 소스를 돌리니...taeha_execve.sh 만 돌아가고...하하1과 하하2가 나오지 않네요
어떻게 돌아가는지 테스트 할 수 있는 방법 좀 알려주세요;;
하하1 실행(다시 실행, 즉 쉘스크립트 실행이라서 보이지 않는것인가요?)
돌아가는 순서가..어떻게 동작하는지 궁금하네요