дд не работает как дд, когда видно в task_struct - PullRequest
0 голосов
/ 28 сентября 2019

Я пытался настроить, как 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 изэтот процесс?

...