使用我的内核模块查找用户进程的PID

时间:2018-10-30 09:36:40

标签: linux-kernel driver linux-device-driver kernel-module tty

我想列出打开我的TTY驱动程序的用户进程的PID,以便能够在某些情况下将其杀死。

如何从内核模块获取客户端用户进程的PID?

2 个答案:

答案 0 :(得分:0)

当用户进程调用某些syscall到您的驱动程序时,您就处于用户线程上下文中。只需读取当前pid并保存即可。

答案 1 :(得分:0)

当用户进程向您的驱动程序调用某些syscall时,它是在发出系统调用的进程的上下文中这样做的。因此,您应该能够使用全局当前任务结构,即

pid_t mypid;
mypid = current->pid.