system() 함수에서...
글쓴이: koonpal / 작성시간: 금, 2003/03/21 - 4:33오후
main {
...
system("vmstat -n 1");
printf("****************");
...
}
system함수를 사용하고 있는데 위와 같은 경우 어떻게 해야 되나요...
vmstat를 1초마다 실행을 하는 것인데...
그래서 그런지 system에서 vmstat가 계속적으로 실행이 되고...
그 다음 줄 printf가 실행이 되지 않습니다...
system에서 vmstat-n 1을 실행시키고 vmstat는 데몬으로 돌아가고...
그 다음 명령을 계속 실행하고 싶은데...
그렇게 하는 방법이 없나요...
system 함수에서 방법이 없다면...
다른 함수를 가지고 할 수 있는 방법 좀 가르쳐 주세요...
부탁을 드리겠습니다...
Forums:
fork 와 exec 함수계열 함수를 사용하십시오. 예를들어,
fork 와 exec 함수계열 함수를 사용하십시오.
예를들어,
위의 코드와 같이 할 수 있습니다. 그럼.
서명:
이것은 올리는 글에 첨부될 사인 문구입니다. 제한은 255 글자입니다
popen() pclose() 가 있습니다.
system() 은 내부에
이 모두를 합쳐서 구현되었습니다. 자식이 끝날때 까지 블락상태로 wait 합니다.
vmstat -n 1 의 결과를 얻으려면 popen 으로 열어야 합니다.
그냥 vmstat 을 실행하려면 백그라운드로 실행시키면 됩니다.
system("vmstat -n 1 &");
popen("vmstat -n 1", "r") ;
pclose(ptr);
댓글 달기