Linux 内核模块杀死进程

Linux 内核模块杀死进程

我期待构建我的第一个 Linux 设备驱动程序,它的目标是检测何时按下组合键,例如 CTRL + ALT,然后接收一个数字,例如 103,该数字应该对应于某个进程的 PID 。然后它应该杀死这个进程。

我的问题是:如何检测这种组合键?如何杀死内核空间中的进程?

感谢大家!

答案1

我建议您稍微修改规范并将其作为自定义扩展实现,而不是从头开始。系统请求特征由 tty 驱动程序提供

已经有一个类似但更严重的功能,AltPrintScreeni它会杀死除 init 进程之外的所有进程。

正如我发布的第一个链接所记录的,您可以通过sysrq_key_opregister_sysrq_key函数提供结构来注册您自己的扩展。

还可以看看send_sig_all它使用它来获取有关如何从内核终止用户态进程的示例。

这是一个例子解释如何构建这样的扩展。

缺少的主要部分是在输入 PID 号时拦截用户输入。

相关内容