私は最初のLinuxデバイスドライバを構築しようとしています。目標は、CTRL + ALTなどのキーの組み合わせを押したときにそれを検出し、PIDに対応する103などの数字を受け取ることです。プロセス。その後、プロセスを終了する必要があります。
私の質問は:このキーの組み合わせをどのように検出しますか?カーネル空間でプロセスを終了するには?
みんなありがとうございます!
答え1
最初から始めるのではなく、仕様を少し変更してカスタム拡張として実装することをお勧めします。システムリクエスト特徴ttyドライバー提供。
AltPrintScreeniinitプロセスを除くすべてのプロセスを終了するのに似ていますが、より深刻な機能はすでにあります。
私が投稿した最初のリンクで説明されているように、関数に構造を提供することで、sysrq_key_op
独自register_sysrq_key
の拡張機能を登録できます。
また、見ることができますsend_sig_all
これを使用して、カーネルでユーザー空間プロセスを終了する方法の例を取得します。
これは例ですそのような拡張を構築する方法を説明してください。
欠けている主な部分は、PID番号を入力するときにユーザー入力を傍受することです。