공유 메모리를 사용하여 파이프를 구현하고 있습니다. main()
이 아닌 라이브러리 만 쓰고 만져야합니다.공유 메모리를 사용하여 파이프 구현
이 내 라이브러리 shared_memory_pipe.h
사용하는 일부 사용자의 main()
말할 수 있습니다 :
#include "shared_memory_pipe.h"
int main() {
int fd[2];
shared_memory_pipe(fd);
if (fork()) {
while(1) {}
}
shared_memory_close(fd[0]);
shared_memory_close(fd[1]);
}
을하지만, 아버지는 무한 루프에 갇혀 있으며 자신의 CD를 닫지 않습니다. 이 경우 내 파이프가 여전히 존재해야합니다 (모든 쓰기 fd가 닫히거나 모든 읽기 fd가 닫히거나 모두 닫히기 때문에 파이프가 사라집니다).
내가 전에, 난 단지 도서관 (shared_memory_pipe.h
를) 쓰기 말했듯이. 도서관 내에서 fork()
이 만들어 졌는지 어떻게 알 수 있습니까?
어떻게 내 공유 메모리 파이프 끝을 쓰기/독서있는 다른 방법이 있다는 것을 알 수 있습니다, 그래서 내 공유 메모리 파이프를 닫지/종료 알?
fork()
또는 그와 비슷한 것이 있다는 것을 알고있는 명령에 대해 들었지만 찾지 못했지만 모릅니다.
미리 감사드립니다. 자세한 정보가 필요한지 물어보십시오.
내가 이해하지 못했지만, 가 나는'주()가'내가 거기에 할 수 없어 쓰지 않는다. 도서관에서 그 기능을 수행하게된다면 어린이가 라이브러리의 어떤 기능도 사용하지 않을 수도있는 몇 가지 경우가 있습니다. 그래서 그의 pid가 정확히 무엇인지 알 수 없습니다 – hudac