사용자 공간에 1비트의 정보 저장 [닫기]

사용자 공간에 1비트의 정보 저장 [닫기]

네트워크 데이터를 수집하는 프로그램을 작성 중입니다. 다른 프로세스에서 읽을 수 있도록 간단한 예/아니요와 같은 약간의 정보를 어딘가에 저장해야 합니다. 몇 가지 옵션이 있습니다: 파일에 1 또는 0 쓰기, 파일 touching / rming, 데이터베이스 테이블에 필드 쓰기 등. 제가 모르는 다른 방법이 있을 수도 있습니다. 이 상황에서 가장 우아한 해결책은 무엇입니까? 프로그램은 다른 데이터를 저장하지 않으며 특정 조건에서만 경고를 발행합니다. 성능이나 코딩의 용이성은 문제가 되지 않습니다. 마음이 바뀌어 2비트로 변경해도 솔루션이 계속 작동하면 보너스 포인트가 됩니다.

답변1

프로세스 간 통신은 사소한 문제가 아닙니다. 거기에는 "상황에 따라"가 많이 있습니다. Perl에는 아래에 이 주제에 대한 전체 장이 있습니다.perlipc

그러나 귀하가 설명하는 시나리오에서는 상태 파일을 작성한 다음 flock해당 파일에 데이터를 기록합니다.

이렇게 하면 flock경쟁 조건이 없고 파일 길이에 제한이 없습니다. 파일 시스템 권한을 사용하여 필요에 맞는 액세스 권한을 부여할 수 있습니다.

관련 정보