2009. 12. 19. 15:48
NAME
     system - 쉘 명령어 실행기

SYNOPSIS
     #include <stdlib.h>
     int system(const char *command);

DESCRIPTION
     system() 함수는 /bin/sh -c command를 호출 하여 command에 지정된 명령어를 실행하고,
     명령어가 끝난후 반환한다. 명령어가 실행동안, SIGCHLD는 블럭되며, SIGINT, SIGQUIT는
     무시된다.
system() 함수는 기본적으로 fork()와 execve()의 조합응용이다.

RETURN VALUE
     만약 /bin/sh를 실행시키기 위한 execve()의 호출이 실패했다면 127이 리턴되며, 다른 에러가
     있다면 -1, 그렇지 않다면 명령어의 리턴코드가 반환된다.
command값이 NULL이고,
    
system()이 shell을 이용할 수 있다면 0이 아닌 값을 그렇지 않다면 0을 반환한다.
     system
()은 다른 wait()상태의 다른 자식에게 영향을 주지 않는다.

EXAMPLE

   #include <stdio.h>
   #include <stdlib.h>
   #include <sys/wait.h>

   int main(int argc, char *argv[])
   {
      int ret;
      ret = system("ls -al");
      printf("Exit Status : [%d]\n", WEXITSTATUS(ret) );
      return 0;
   }



참조:
JOINC WIKI - SYSTEM(3)

'API 및 라이브러리 > C 라이브러리 함수' 카테고리의 다른 글

strdup(3)  (0) 2010.09.14
strstr(3)  (1) 2010.09.11
getusershell(3)  (0) 2009.12.19
syslog, openlog(3)  (0) 2009.12.18
getutent(3)  (0) 2009.12.17
Posted by devanix