Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이프를 사용하여 부모 프로세스와 자식 프로세스 간에 통신하는 Python 프로그램입니다.

<시간/>

fork를 사용하는 것은 자식 프로세스를 만드는 가장 쉬운 방법입니다.fork()는 os 표준 Python 라이브러리의 일부입니다.

여기서는 pipe()를 사용하여 이 작업을 해결합니다. 한 프로세스에서 다른 프로세스로 정보를 전달하기 위해 pipe()가 사용됩니다. 양방향 통신의 경우 pipe()는 단방향이므로 각 방향에 하나씩 두 개의 파이프를 사용할 수 있습니다.

알고리즘

1단계:읽기 및 쓰기를 위한 파일 설명자 r, w. 2단계:포크를 사용하여 프로세스를 생성합니다. 3단계:프로세스 ID가 0이면 하위 프로세스를 생성합니다. 4단계:그렇지 않으면 상위 프로세스를 생성합니다. 

예시 코드

import os def parentchild(cwrites):r, w =os.pipe() pid =os.fork() if pid:os.close(w) r =os.fdopen(r) print("부모가 읽고 있습니다. ") str =r.read() print( "부모는 =", str을 읽음) else:os.close(r) w =os.fdopen (w, 'w') print ("자식은 쓰고 있습니다") w.write (cwrites) print("Child writes =",cwrites) w.close() # 드라이버 코드 cwrites ="Python Program"parentchild(cwrites) 

출력

Child is writingChild writes =Python ProgramParent is readingParent reads =Python 프로그램