Я пытался настроить, как dd записывает данные на блочное устройство, и я написал модуль, который выбирает процесс, который пытается записать что-то на это блочное устройство, и проверил comm
этого процесса * 1002.*.
Но когда я запускаю dd, пытаясь записать какой-то большой объем данных на блочное устройство, только горстка этих вызовов имеет "dd" как comm
.
Я получаю значения, как показано ниже.
dd came on device task->comm = systemd-udevd
dd came on device real_parent->comm = systemd-udevd
dd came on device parent->comm = systemd-udevd
dd came on device parent->real_parent->comm = systemd
dd came on device parent->parent->comm = systemd
иногда я получаю
dd came on device task->comm = kworker/u16:0
dd came on device real_parent->comm = kthreadd
dd came on device parent->comm = kthreadd
dd came on device parent->real_parent->comm = swapper/0
dd came on device parent->parent->comm = swapper/0
Как я уже заметил, я пытался получить comm
для процесса real_parent
и parent
, но они также не dd .
что именно здесь происходит?
и как я могу определить процесс по его названию, когда у меня есть доступ к task_struct
изэтот процесс?