리눅스 2.4.16 커널을 사용중인데요.
자식프로세스를 생성하고 부모는 자식이 끝나기를 기다리고 자식의 리소
스 사용량을 체크하는 방법으로 wait4나 getrusage등이 있다고 알고 있
는데요.
이함수를 이용해보면 시피유 시간은 나오는데 메모리 사용량이나
read/write에 대한 정보는 모두 0으로 나오네요.
여러 프로그램들을 돌려 봤지만 마찬가지고요.
struct rusage *usage;
pid=fork();
if (pid==0)
{
execvp(ap[0],ap);
_exit (EXIT_FAILURE);
}
else
{
서버쪽에는 받는 것만있습니다.즉
while(1){
recv();
printf(받은메세지);
}
이런식이구요
클라이언트는 보내는것만있는데요
for(10번반복){
send(msg);
}
이렇게 하면 서버쪽에서 받은 메세지에 대한 출력을
msg
msg
msg
msg
...
이런식으로 나와야 하는데
msgmsgmsgmsgmsgmsgmsg... 이런식으로 한번에 나와버립니다.
아마 클라이언트에서 send 할때 socket send buffer 때문인거 같은데요
이거
msg
msg
msg
msg
...
이런식으로 서버가 각각 받을려면 어떻게 처리
음.. gcc로 프로그램을 개발하고 있습니다.
디버깅 기술이 없어서 화면에 찍고, 로그 남기고, 코어 남으면 gdb로 코
어 보는걸로 연명 해 왔는데, 어디선가 들으니 유닉스에서도 브레이크 포
인트(프로그램 실행 도중 특정라인이 실행 될 경우, 멈춰져서 보여주는
디버깅 기술)을 사용할 수 이싸고 하는데.. 그 기술을 어떻게 사용할 수
있는지 좀 가르쳐주세요^^;;