execlp 함수 예제

execlp 함수 예제
2 Agosto, 2019 fabio

대부분의 경우 이러한 웹 페이지에서 렌더링되는 프로그램은 독립적이지 않습니다. 일반적으로 전체 소스 타르볼을 다운로드하고 make(1)로 프로그램을 빌드하는 것이 더 쉽습니다. 위의 다양한 하이퍼링크 된 파일 및 기능 호출 위에 마우스를 가져가면이 파일이 의존하는 다른 소스 파일을 볼 수 있습니다. 이 호출의 결과로 C-언어 프로그램이 실행되면 다음과 같이 C-언어 함수로 입력됩니다. 새로운 프로그램. 첫 번째 인수는 규칙에 따라 실행 중인 파일과 연결된 파일 이름을 가리킬 수 있습니다. 포인터의 배열은 NULL 포인터에 의해 종료되어야 합니다. 아래 목록에서 Linux 시스템 호출 및 C 라이브러리 함수의 이름은 Linux 맨 페이지 프로젝트의 수동 페이지로 하이퍼링크되며 책에 구현된 함수의 이름은 이러한 기능의 구현과 하이퍼링크되어 있습니다. 이러한 모든 함수는 실패하고 execve(2)에 대해 지정된 오류에 대해 errno를 설정할 수 있습니다. 위에 표시된 동일한 C 프로그램은 execlp() 또는 execl() 함수로 실행할 수 있으며 현재 프로세스를 새 프로세스로 대체하는 것과 동일한 작업을 수행합니다.

실행 파일의 전체 경로를 전달하는 해결 방법은 PATH: NuTCRACKER 플랫폼은 Win32 CreateProcess() 함수를 사용하여 새 프로세스를 만드는 함수 execlp를 사용하는 것입니다. 대부분의 UNIX 시스템에서와 같이 기존 이미지를 오버레이하지 않습니다. 이는 새 프로세스 이미지에서 getpid()에 의해 반환된 프로세스 ID가 호출 프로세스 이미지에서 반환된 프로세스 ID와 일치하지 않는다는 점에서만 표시됩니다. PTC MKS 툴킷 UNIX에서 Windows 포팅 가이드로 의 Windows 개념 장에서 프로세스 관리를 참조하십시오. exec() 함수 제품군은 현재 프로세스 이미지를 새 프로세스 이미지로 바꿉니다. 이 수동 페이지에 설명된 함수는 execve(2)의 프런트 엔드입니다. (현재 프로세스 이미지의 교체에 대한 자세한 내용은 execve(2)에 대한 설명서 페이지를 참조하십시오.) execvpe() 함수는 글리브 2.11에 처음 나타났습니다. 파일의 헤더가 인식되지 않는 경우(시도된 execve(2)가 오류 ENOEXEC에 실패함) 이러한 함수는 파일의 경로를 첫 번째 인수로 셸(/bin/sh)으로 실행합니다.