저는 첫 번째 Linux 장치 드라이버를 구축하려고 합니다. 목표는 CTRL+ALT와 같은 키 조합을 눌렀을 때 이를 감지한 다음 PID에 해당하는 103과 같은 숫자를 받는 것입니다. 프로세스. 그런 다음 프로세스를 종료해야 합니다.
내 질문은: 이 키 조합을 어떻게 감지합니까? 커널 공간에서 프로세스를 종료하는 방법은 무엇입니까?
모두 감사합니다!
답변1
처음부터 시작하기보다는 사양을 약간 수정하여 사용자 정의 확장으로 구현하는 것이 좋습니다.시스템 요청특징tty 드라이버 제공.
AltPrintScreeniinit 프로세스를 제외한 모든 프로세스를 종료하는 유사하지만 더 심각한 기능이 이미 있습니다 .
제가 게시한 첫 번째 링크에 설명된 대로 함수 sysrq_key_op
에 register_sysrq_key
구조를 제공하여 자신만의 확장 기능을 등록 할 수 있습니다.
당신은 또한 볼 수 있습니다send_sig_all
이를 사용하여 커널에서 사용자 공간 프로세스를 종료하는 방법에 대한 예제를 얻습니다.
이것은 예이다그러한 확장을 구축하는 방법을 설명하십시오.
누락된 주요 부분은 PID 번호를 입력할 때 사용자 입력을 가로채는 것입니다.