Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Ищем структуру, которая описывает процесс sfc:
p = find_task_by_name("sfc");
Если поиск завершился удачно, отобразим PID процесса (результаты работы модуля будут сохранены в файле /var/log/messages):
if(p) printk(KERN_INFO "PID - %d ", p->pid);
else {
printk(KERN_INFO "No such task ");
return 0;
}
Можно также выполнить поиск процесса по заданному PID при помощи функции find_task_by_pid(int pid) (см. <linux/sched.h>). Повторим поиск процесса, используя найденный PID:
pid = p->pid;
p = find_task_by_pid(pid);
Процесс найден. Отобразим результаты поиска:
n имя процесса и его состояние:
printk(KERN_INFO "NAME - %s ", p->comm);
printk(KERN_INFO "STATE - %u ", (u32)p->state);
n адресное пространство процесса:
printk(KERN_INFO "START ADDRESS - 0x%08X ", (u32)p->active_mm->mmap->vm_start);
printk(KERN_INFO "END ADDRESS - 0%08X ", (u32)p->active_mm->mmap->vm_end);
n идентификаторы:
printk(KERN_INFO "UID - %d ", p->uid);
printk(KERN_INFO "GID - %d ", p->gid);
printk(KERN_INFO "EUID - %d ", p->euid);
printk(KERN_INFO "EGID - %d ", p->egid);
printk(KERN_INFO "FSUID - %d ", p->fsuid);
printk(KERN_INFO "FSGID - %d ", p->fsgid);
n точка монтирования корневого каталога и имя каталога, откуда стартовал процесс sfc:
printk(KERN_INFO "ROOT - %s ", p->fs->root->d_name);
printk(KERN_INFO "PWD - %s ", p->fs->pwd->d_name);
n файлы, открытые процессом sfc:
for(i = 0; i < p->files->next_fd; i++)
printk(KERN_INFO "%s ", p->files->fd[i]->f_dentry->d_name);
n адреса обработчиков сигналов:
for(i = 0; i < 31; i++)
printk(KERN_INFO "%d - 0x%08X ", i, (unsigned int)p->sig->action[i].sa.sa_handler);
return 0;