2017-10-02 2 views
0

저는 Linux 시스템 명령 및 IPC 관련 항목을 처음 사용합니다.포크 및 부모 자식 통신

나는 주어진 숫자의 계승을 계산 한 다음, 그 결과를 다시 부모에게 전달합니다. 그런 다음 부모는 수신 된 출력을 인쇄합니다.

나는이 파이프의 어떤 종류를 사용하여없이 작업을 수행해야합니다. 이 시점에서 필자는 IPC의 다른 유형에 대한 소량의 연구를 수행했습니다. 필자가 고려한 두 경로는 파일 매핑 및 메일 슬롯이었습니다. 그러나 기본 작업이 얼마나 복잡한 지 모두 고려하면 너무 복잡해 보입니다.

이 문제를 해결할 수있는 간단한 방법은 무엇입니까?

+0

이 문제를 해결하는 간단한 방법은 파이프를 사용하는 것입니다. 표준 솔루션 사용에 대한 인위적인 제한 조건이있는 경우 제약 조건을 제거하십시오. 파이프를 사용하지 않고 정말로하고 싶다면 공유 메모리 및/또는 소켓을보십시오. –

+0

이것은 클래스 용이며, 클래스 요구 사항은이 할당에 파이프를 사용하지 않아야한다고 명시합니다. 조언 주셔서 감사합니다, 그걸 살펴볼 것입니다! – GreenFerret95

+0

이와 같은 질문에 대한 일반적인 대답은 "수업에서 배우는 모든 것은 무엇이든"이지만 우리는 수업에서 배운 내용을 알지 못합니다. 그것이 나에게 달려 있고 재미있는 것을 원한다면, 대답의 가능한 비트마다 하나씩 세마포어를 사용할 것입니다. –

답변

0

fork()을 수행 할 때 부모와 자식이 모든 메모리에 액세스 할 수 있으므로 프로그램에서 하위를 포크하는 경우 부모에 공유 위치를 만들고 그 공간에 결과를 채우게하십시오. .