얼마전에 글올렸었는데....이번에는 popen에 관해서....

365.2425의 이미지

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식으로 하면 에러메시지도 전송이 되야 하는데 안되는군요.ㅜ.ㅜ
왜 안되는지..ㅜ.ㅜ 도와주세요.....

File attachments: 
첨부파일 크기
Plain text icon ts.txt2.72 KB
Plain text icon tc.txt2.02 KB
jsj3579의 이미지

2번 파일 디스크립터를 close하시구요
1번 파일 디스크립터를 dup시켜주시면 됩니다.

혹 파일디스크립터 넘버가 틀렸다면, 밑에 분께서 고쳐주실겁니다.
암요!

이렇게 썼었는데, popen이면 다른 프로세스에서 도니까...어떻게 할지 모르겠습니다.
...암요-_-;;