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
참조:
JOINC WIKI - SYSTEM(3)
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 |