두 C 애플리케이션 간에 장치를 공유해야 합니다. 장치는 부저입니다. O_NONBLOCK 플래그로 켜려고 했지만 결과는 동일합니다. 장치나 리소스가 사용 중입니다.
이 장치를 두 가지 용도로 사용할 수 있습니까?
미리 감사드립니다
답변1
정확한 장치를 알지 못하더라도 커널이 해당 장치에 대한 동시 액세스를 비활성화할 충분한 이유가 있다고 생각합니다. 어쨌든 두 프로그램의 준동시 액세스를 허용하려면 프로그램과 장치 사이에 세 번째 프로그램을 도입할 수 있습니다. 프로그램은 /dev/gpio
UNIX 도메인 소켓( socket(2)
) 또는 명명된 파이프( )를 통해 열 수 있고 mkfifo(3)
실제 프로그램의 명령을 받아들일 수 있습니다.