Вот например функция, которая выводит список запущенных процессов, это в модуле ядра.
ssize_t scull_read ( struct file *file, char __user *buf, size_t count, loff_t *pos)
{
char data[8192];
char *p, *h;
p = &data[0];
struct task_struct *task;
int i = 0;
int len = 0;
int ret;
for_each_process(task)
{
h = &task->comm[0];
while ( *h != 0 )
{
*p = *h;
p++;
h++;
len++;
}
*p = 32;
p++;
p++;
len++;
if ( len > 8190 ) break;
}
copy_to_user ( buf, data, len );
return len;
}