Найти PID пользовательских процессов, используя мой модуль ядра - PullRequest
0 голосов
/ 30 октября 2018

Я бы хотел перечислить PID пользовательских процессов, открывающих мой драйвер TTY, чтобы иметь возможность убивать их при некоторых условиях.

Как я могу получить PID клиентских пользовательских процессов из моего модуля ядра?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Когда пользовательский процесс вызывает какой-то системный вызов для вашего драйвера, он делает это в контексте процесса, который выдал системный вызов. Таким образом, вы должны иметь возможность использовать глобальную текущую структуру задач, т.е.

pid_t mypid;
mypid = current->pid.
0 голосов
/ 31 октября 2018

Когда пользовательский процесс вызывает системный вызов для вашего драйвера, вы находитесь в контексте пользовательского потока. Просто прочитайте текущий pid и сохраните его.

...