고수님들~~ loop문과 execl의 명령어 관계에서 질문이 있습니다.
글쓴이: ins878 / 작성시간: 목, 2004/09/16 - 12:22오전
안녕하세요~ 리눅스 프로그래밍을 공부하는 초보 학생입니다.
다름이 아니라 execl()함수를 loop문 안에 돌리면 이상하게 execl()함수가
1번만 실행이되고 종료되어 버립니다.
=============================
소스코드
=================================
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int i;
for(i=1; i<10; i++)
{
execl("/bin/ls","ls","-la",0);
}
return 0;
}
======================================
분명 10번의 반복문안에 execl()함수가 있기때문에 execl() 함수가 10번 호출이 되어야 하는데, 이상하게 1번만 호출이 되고 프로그램이 종료됩니다.
반복문안에서 execl()함수와 같은 기능을 가진 함수가 계속 반복 실행이 되게 하려면 어떻게 해야합니까?
고수님들 꼭 부탁드립니다. :(
Forums:
exec계열의 함수는 현재 실행중인 프로세스를 새로운 프로세스로 덮어써버
exec계열의 함수는 현재 실행중인 프로세스를 새로운 프로세스로 덮어써버립니다. 따라서 ls가 한번만 실행되는거죠. fork한후 exec를 하던지 system함수를 쓰세요.
system 함수가 제일 간단하겠군요. :D( 너무 간단하고 무성의한
system 함수가 제일 간단하겠군요. :D
( 너무 간단하고 무성의한가 -_- . . . 원래 내머리의 구조는 -_-;; )
---------------------------------------------------------------
폐인이 되자 (/ㅂ/)
감사합니다.
fork()사용하면 될까 안될까~ 고민을 했었는데... 고수님들 감사드립니다. :wink:
댓글 달기