exec 함수는 exec 계열 함수를 총괄하여 지칭하는 말이다. 이 함수는 프로세스가 하던 작업을 종료하고 다른 작업을 하도록 전환할 때 사용한다. exec 함수를 호출하면 현재 실행 중이던 프로세스의 이미지를 프로세스의 이미지로 교체한다. 즉, 현재 실행중인 프로세스의 메모리를 다른 프로세스를 위해 사용한다. 따라서 현재 실행중인 프로세스는 종료되며 exec 함수의 인자로 받은 새로운 프로세스가 실행되기 시작한다.
함수 이름 | 프로그램 지정 | 명령라인 인수 | 함수 설명 |
execl | 디렉토리와 파일 이름이 합친 전체 이름 | 인수 리스트 | 환경 설정 불가 |
execlp | 파일 이름 | 인수 리스트 | 환경 설정 불가 |
execle | 디렉토리와 파일 이름이 합친 전체 이름 | 인수 리스트 | 환경 설정 가능 |
execv | 디렉토리와 파일 이름이 합친 전체 이름 | 인수 배열 | 환경 설정 불가 |
execvp | 파일 이름 | 인수 배열 | 환경 설정 불가 |
excve | 전제 경로 명 | 인수 배열 | 환경 설정 가능 |
exec 뒤의 문자 l, v, p, e의 의미는 각각 다음과 같다.
l : list 형태의 인자를 취한다는 의미
v : vector 형태의 인자를 취한다는 의미
p : 명령을 PATH에서 검색하겠다는 의미
e : 환경 변수 인자를 받는 함수임을 의미
| |||||||||
| |||||||||
#include <stdio.h> ]$ ./a.out | |||||||||
참고사이트 : http://proneer.tistory.com/entry/exec
http://forum.falinux.com/zbxe/?mid=C_LIB&search_target=title&search_keyword=exec&document_srl=408554&listStyle=&cpage=