얼마전에 글올렸었는데....이번에는 popen에 관해서....
글쓴이: 365.2425 / 작성시간: 목, 2008/12/04 - 3:12오후
if(strncmp(rbuf,"**",2)==0){
send=popen(rbuf+2,"r");
if(send==NULL){
perror("Error : ");
exit(1);
}
while(fgets(buff,MAXLINE,send) !=NULL){
printf("%s",buff);
size2=strlen(buff);
if(write(client_fd,buff,size2)!=size2){
printf("Server:fail in writing\n");
}
}
pclose(send);
}
원격조정기능을 사용할수 있는 채팅프로그램을 작성한고 있습니다.
위 소스틑 원격조정을 당하는 쪽에서의 소스입니다.
popen으로 다시짯는데....문제는....
에러 부분이 전송이 안된다는 겁니다.
**ls -al
이런식으로 하면 전송이 되는데..
만약 ls-al식으로 하면 에러메시지도 전송이 되야 하는데 안되는군요.ㅜ.ㅜ
왜 안되는지..ㅜ.ㅜ 도와주세요.....
Forums:
에러메시지는 stderr 쪽으로 나갑니다.
2번 파일 디스크립터를 close하시구요
1번 파일 디스크립터를 dup시켜주시면 됩니다.
혹 파일디스크립터 넘버가 틀렸다면, 밑에 분께서 고쳐주실겁니다.
암요!
이렇게 썼었는데, popen이면 다른 프로세스에서 도니까...어떻게 할지 모르겠습니다.
...암요-_-;;
댓글 달기