다른 프로세스 (파이썬으로 작성)간에 정보를 공유하는 간단한 방법으로 Linux 환경 변수를 사용하려면주의해야 할 사항은 무엇입니까? 예를 들어, 단일 프로세서/코어 시스템에서 읽기 및 쓰기가 원자 적입니까?간단한 프로세스 간 통신에 환경 변수 사용하기
나는 여러 개의 독립적 인 프로세스가 모니터링 및 제어를 수행하는 Raspberry Pi에서 임베디드 시스템을 설계하고 있습니다. 이러한 프로세스는 다른 프로세스에서 업데이트 할 공유 "속성"에 대한 액세스가 필요할 수 있습니다. 예를 들어, 하나의 프로세스가 RFID 판독기를 모니터링하고 마지막 카드의 일련 번호로 환경 변수를 업데이트 할 수 있습니다. 다른 프로세스는 일련 번호에 액세스하여이를 사용할 수 있습니다.
내가이 아이디어를 고려하는 이유는 단순함뿐입니다. 프로세스 사이에 간단한 문자열과 숫자를 공유하는 것에 만 관심이 있습니다. 소켓과 같은 것을 사용하는 것보다 간단하다고 느낍니다.
환경 변수가 절대적으로 작업을위한 도구 아니다. 그것들은 프로세스가 시작되기 전에 설정되고, 그 프로세스에 의해서만 변경 될 수 있으며, 그 프로세스에 의해 시작된 자식 프로세스에서만 변경 사항을 관찰 할 수 있습니다. 한 방향을 제외하고는 실제 의사 소통 능력이 없습니다 ... – twalberg
가능할지라도 이것을하지 마십시오. 그것을 할 수있는 "정상적인"방법은 없으며 당신이 할 수있는 일은 단지 심적 부담으로 이어질 끔찍한 해킹입니다. 프로세스가 정보를 교환해야하는 방법을 자세히 설명하는 질문을하고 사람들은 적절한 IPC에 대한 옵션 범위를 좁히는 데 도움을 줄 수 있습니다. – Duck
감사합니다. 약간의 실험을 거친 후에도 같은 결론에 도달했습니다. 예상 한대로 사용할 수는 없습니다. –