fork 에서 자식프로세스가 file 을 write 할때 bad filedescriptor 문제

ez2sugul의 이미지


int fd;
...
...

if((pid = fork()) == 0)
{
fd = open(filepath, O_CREAT | O_TRUNC);
if(fd < 0)
{
perror("open");
exit(1);
}

write(fd, buf, bufsize);
..
...
}

대충 이런식의 코드입니다.
자식프로세스가 파일을 하나 열고 곧바로 어떤 내용을 쓸려고 하면
write 시에 Bad filedescriptor 라고 에러가 출력됩니다.
open은 정상적으로 수행되었고 파일도 생성된것을 확인했는데
write가 안되네요... 문제가 멀까요?

pynoos의 이미지

O_RDWR 를 넣어 open해야하실듯..?
---
coolengineer.com

익명 사용자의 이미지


Bad file descriptor 오류가 계속 쓰길래.... 검색하다 발견했습니다..

open()함수에 O_CREAT만 적고 멍청하게 write가 안되서 몇시간을 헤맸어요ㅠㅠㅠ

O_RDWR적으니 바로 해결되네요ㅠㅠㅠㅠ

감사합니다ㅠㅠㅠㅠ