дескриптор процесса в модулях ядра - PullRequest
1 голос
/ 16 апреля 2009

Можно ли получить указатель на дескриптор процесса в модуле ядра? Если это возможно, пожалуйста, напишите как? Мне нужно найти все файлы, открытые процессом, и их значения смещения для каждого файлового дескриптора ....

Ответы [ 4 ]

1 голос
/ 16 апреля 2009

Сканирует файловую систему proc в поисках процессов с открытыми файловыми дескрипторами. Однако вы не можете обнаружить смещения в дескрипторах открытых файлов.

1 голос
/ 16 апреля 2009

Я обнаружил, что получил указатель на дескриптор процесса ... функция объявлена ​​в linux / sched.h

struct task_struct find_task_by_pid(pid_t pid) .. Я думаю, что могу использовать этот дескриптор процесса, чтобы следовать за дескриптором файла и его смещениями ... Спасибо всем за поддержку

1 голос
/ 16 апреля 2009

Ну, я не знаю, как получить это из модуля ядра, но есть много способов получить его из обычного куска кода ... Не очень эффективные, то есть Начнем с того, как это делают lsof и другие подобные утилиты, и перейдем к / proc / $ pid / fd

0 голосов
/ 18 апреля 2009

Я не уверен, чего вы пытаетесь достичь, обычно всего лишь выполняется в контексте данного идентификатора процесса. Это всегда доступны для вас через «текущий» глобальный. Если вы хотите найти произвольный дескриптор процесса затем find_task_by_pid, вероятно, что ты хочешь. Вся информация о процессе поступает из task_struct.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...