2012-01-05 2 views
3

멀티 프로세싱을 사용하여 멀티 코어 머신에서 GIL 문제를 방지하고 동일한 직렬 포트를 사용하는 읽기 프로세스와 쓰기 프로세스를 갖고 싶습니다. 그게 가능하니? 그렇다면 포트를 얻은 다음 어떻게 자식 프로세스가 사용할 수있는 파일 개체를 얻게합니까?두 개의 서로 다른 프로세스 (파이썬)에서 직렬 포트에 액세스하는 방법

편집 - Windows에서 작동해야하지만 Mac과 Linux도 좋습니다.

+0

,하지만 당신은 몇 가지를 사용해야합니다 :

라이브러리 문서의 예제 XMLRPC와 같은 "I/O 서버 프로세스"를 구현하기위한 충분해야한다 프로세스 간의 동기화 메커니즘의 종류. –

+0

동기화 메커니즘이 필요한 이유는 무엇입니까? 직렬 포트는 전이중입니다. 맞습니까? –

+0

아, 당신은 하나의 프로세스가 읽고 하나는 프로세스를 의미합니까? 그게 문제가 아니야. (직렬 통신 전문가는 아니지만) –

답변

3

주석에서 언급했듯이 한 번에 하나의 프로세스 만 직렬 포트를 얻을 수 있습니다. 따라서 실제 하드웨어 I/O를 수행 할 수있는 또 다른 프로세스를 Python xmlrpc 또는 jsonrpc를 사용하여 만들 수 있습니다. O를 사용하고 현재 읽기 및 쓰기 스크립트를 수정하여 다른 프로세스에서 원격 기능을 호출하십시오. 물론 당신이 적어도 유닉스 플랫폼에서, 수의 http://docs.python.org/library/simplexmlrpcserver.html

관련 문제