콘텐츠
그만큼exec 기능 군은 현재 공정 이미지를 새로운 공정 이미지로 대체합니다. 여기에 설명 된 기능은 기능의 프런트 엔드입니다.execve(2).
이 함수의 초기 인수는 실행될 파일의 경로 이름입니다.
그만큼const char * arg 이후의 타원execl, execlp,execle 기능은 다음과 같이 생각할 수 있습니다arg0, arg1, ..., Argn. 이들은 함께 실행 된 프로그램에 사용 가능한 인수 목록을 나타내는 널 종료 문자열에 대한 하나 이상의 포인터 목록을 설명합니다. 첫 번째 인수는 규칙에 따라 실행중인 파일과 연관된 파일 이름을 가리켜 야합니다. 인수 목록곰팡내 나게 하다 에 의해 종료되다없는 바늘.
그만큼execv 과execvp 함수는 새 프로그램에 사용 가능한 인수 목록을 나타내는 널 종료 문자열에 대한 포인터 배열을 제공합니다. 첫 번째 인수는 규칙에 따라 실행중인 파일과 연관된 파일 이름을 가리켜 야합니다. 포인터의 배열곰팡내 나게 하다 에 의해 종료되다없는 바늘.
그만큼execle 함수는 또한 다음을 수행하여 실행 된 프로세스의 환경을 지정합니다.없는매개 변수 목록의 인수 목록 또는 추가 매개 변수가있는 argv 배열에 대한 포인터를 종료하는 포인터. 이 추가 매개 변수는 널 종료 문자열에 대한 포인터의 배열입니다.곰팡내 나게 하다 에 의해 종료되다없는 바늘. 다른 함수는 외부 변수에서 새 프로세스 이미지의 환경을 가져옵니다.환경 현재 프로세스에서.
이 함수 중 일부에는 특수 의미가 있습니다.
기능execlp 과execvp 지정된 파일 이름에 슬래시 (/) 문자가 포함되어 있지 않으면 실행 파일을 검색 할 때 쉘의 동작이 복제됩니다. 검색 경로는 환경에서 지정된 경로입니다.통로 변하기 쉬운. 이 변수를 지정하지 않으면 기본 경로``: / bin : / usr / bin ''이 사용됩니다. 또한 특정 오류는 특별히 처리됩니다.
파일에 대한 권한이 거부 된 경우 (시도execve 반환EACCES),이 기능은 나머지 검색 경로를 계속 검색합니다. 그러나 다른 파일이 없으면 전역 변수와 함께 반환됩니다.에르 노 로 설정EACCES.
파일의 헤더가 인식되지 않는 경우execve 반환ENOEXEC이 함수는 파일의 경로를 첫 번째 인수로 사용하여 셸을 실행합니다. 이 시도가 실패하면 추가 검색이 수행되지 않습니다.
반환 값
만약에exec 함수가 반환되면 오류가 발생했을 것입니다. 반환 값은 -1이며 전역 변수에르 노 오류를 나타내도록 설정됩니다.
사용남자 명령 (% 남자)를 사용하여 특정 컴퓨터에서 명령이 어떻게 사용되는지 확인하십시오.
이름
execl, execlp, execle, execv, execvp — 파일을 실행
개요
#포함 extern char ** 환경; int execl (const char *통로const char *인수, ...); int execlp (const char *파일const char *인수, ...); int execle (const char *통로const char *인수 , ..., char * constenvp[]); int execv (const char *통로, char * constargv[]); int execvp (const char *파일, char * constargv[]);