0
exec
시스템 호출 이후에 내 코드에서 goto 문을 사용하려고합니다. exec
을 사용한 후 프로그램에서 종료됩니다. 내 코드에서 어떻게 유지할 수 있습니까?exec 시스템 호출을 사용하면 다른 프로그램을 실행하지만 현재 proram을 종료합니다
다음은 코드입니다.
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#define MAX_LINE 80
#define MAX 3
void main()
{
char *args[MAX_LINE];
char arg1[MAX_LINE/2]="\0";
char arg2[MAX_LINE/2]="\0";
UBOS:
printf("ubos>");
fflush(stdout);
fgets(arg1, sizeof(arg1), stdin);
arg1[strlen(arg1)-1]='\0';
fgets(arg2, sizeof(arg2), stdin);
arg2[strlen(arg2)-1]='\0';
printf("You typed: %s %s\n",arg1,arg2);
fflush(stdin);
if (strlen(arg2) == '\0')
{
args[0] = arg1;
args[1] = '\0';
}
else
{
args[0] = arg1;
args[1] = arg2;
args[2] = 0;
}
int i;
for(i=0;i<MAX && args[i];i++)
{
printf("Vlue of args[%d] =%s\n",i, args[i]);
}
execvp(args[0],args);
goto UBOS;
printf("Something is not correct...\n");
exit(0);
}
내가이 코드 작업을 수행 할 수있는 방법이 있습니까?
을; [이 이전 질문] (http://stackoverflow.com/questions/4204915/please-explain-exec-function-and-its-family) (특히 fork와 함께 사용하는 것에 대한 토론). –
그래, 그게 임원이야. 설명서를 읽었습니까? – immibis
존재하지 않는 프로그램 이름을 지정하여'exec'가 실패하면 코드가 반복됩니다. –