Хороший крик с использованием cpulimit.
Я обнаружил, что это можно было бы упростить (при регистрации в качестве пользователя root) в
cpulimit -e dropbox -l 10
, где -l указывает процент CPU. Обратите внимание, что это для общего ЦП по всем ядрам, поэтому у двойного ядра будет предел 200
Выход:
cpulimit -e dropbox -l 10
Process 2641 detected
имя исходного файла - basic.c
#include <linux/init.h>
#include <linux/module.h>
/*MODULE_LICENSE("Dual BSD/GPL");*/
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
для первого типа на ур-терминале, что uname -r тогда u получит версию, использующую систему ur.
obj-m +=basic.o
KDIR =/usr/src/linux-headers-3.13.0-44-generic
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
$make
$ sudo insmode basic.ko
$ dmesg
u will get the output
$ sudo rmmod basic.ko
$ dmesg
По всей вероятности, вам не хватает заголовков Linux для вашего ядра (файлы .h, которые вы указываете в первых строках вашей программы). Эти файлы отличаются для каждой версии ядра, но они удобно упакованы для вас в репозитории. Попробуйте установить его следующим образом:
sudo apt-get install linux-headers-$(uname -r)
Обратите внимание, что ваша версия ядра передается через команду uname -r.