문제

나는 이것을 모두 잘못 접근하고 있을지 모르지만 ...

외부 인터럽트를 처리하는 Linux 커널 장치 드라이버가 있으며 현재 Printk ()가 발생할 때 Printk ()를 수행합니다.

내가하고 싶은 것은이 이벤트가 일어나서 몇 가지 일을 할 수 있도록이 이벤트가 발생했다고 사용자 공간 앱에 알려주는 것입니다.

커널 내에서 sigusR1을 설정 한 다음 사용자 공간에서 캡처하는 것이 가능합니까 ( /simple /mood practice)

signal (SIGUSR1, <handler function>);

감사

도움이 되었습니까?

해결책

이것은 아주 좋은 생각처럼 들리지 않습니다. 가능하다면, 드라이버가 사용자 공간 가이의 프로세스 ID를 어떻게 든 드라이버에게 신호를 얻을 수 있도록해야 할 것입니다.

나는 /dev /xxx를 만들고 열면 이벤트가 발생할 때 드라이버가 파일 디스크립터를 활성화시킬 수 있습니다. 어쩌면 더 많은 정보를 제공 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top