popen에 관한 질문입니다.
글쓴이: hjungpil / 작성시간: 월, 2005/03/14 - 11:57오전
popen() 함수를 이용하여, 파이프를 오픈한 후에, 특정 명령을 수행하는 코드를 작성하여 사용하고 있습니다.
그런데, 강제적으로 popen된 자원을 가진 자식 프로세스를 kill해야 하는 상황이 발생합니다.
그러나, 보통은 pclose()라는 함수를 이용하여 열어 놓은 파이프를 닫고 자식 프로세스를 종료하고 다음 작업을 합니다. 그러나, popen()으로 작업을 하는 자식 프로세스를 강제적으로 kill을 하게 되면 popen()으로 열려진 시스템 자원에 대해서는 어떻게 되는지요?
즉, popen()으로 열어 놓은 시스템 자원에 대해서는 pclose()를 사용하여 닫으면 시스템 자원은 제대로 할당과 해제가 되는데요.
강제적으로 popen()된 자식 프로세스를 강제적으로 kill하게 되면 해당 자원을 정상적으로 해제하지 못하고 종료되 됩니다. 이렇게 해도 문제가 되지 않는지요?
고수님들의 답변 부탁드립니다. 오늘 하루 즐거운 하루가 되세요.
Forums:
kill 한 다음 pclose 하면 되지 않나요?popen을 읽기 모
kill 한 다음 pclose 하면 되지 않나요?
popen을 읽기 모드로 열었다면 fread 에서 오류값을 확인하여 닫으면되고, 쓰기 모드로 열었다면 fwrite 등에서 오류값을 확인하여 닫으면 될것 같고, kill 한다음 pclose 안하고도 해제하는 방법은 없습니다.
---
http://coolengineer.com
댓글 달기