popen("ps -l","w") 이후에 문제..어떻게 정보를 교환하는거죠?

dltkddyd의 이미지

#include <cstdio>
#include <cstdlib>
#include <unistd.h>
 
int main() {
  FILE* pipefp;
  char buffer[1024]={"tennis"};
  if((pipefp=popen("ps -l","w"))==NULL) {
    printf("The popen call error\n");
  }
  fputs(buffer,pipefp);
 
  pclose(pipefp);
 
  return 0;
}

fputs를 호출하는 부모프로세서에서 "tennis"라는 문자열을 저렇게 보내면 자식에서 어떤 방식으로 pipe로 입력된 값을 사용하나요?