& Ldquo; сделать & Rdquo; команда ничего не делает

Хороший крик с использованием cpulimit.

Я обнаружил, что это можно было бы упростить (при регистрации в качестве пользователя root) в

cpulimit -e dropbox -l 10

, где -l указывает процент CPU. Обратите внимание, что это для общего ЦП по всем ядрам, поэтому у двойного ядра будет предел 200

Выход:

cpulimit -e dropbox -l 10
Process 2641 detected
1
задан 14 August 2015 в 23:02

2 ответа

имя исходного файла - 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);

сделать файл для ubuntu

для первого типа на ур-терминале, что 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
3
ответ дан 24 May 2018 в 15:14

По всей вероятности, вам не хватает заголовков Linux для вашего ядра (файлы .h, которые вы указываете в первых строках вашей программы). Эти файлы отличаются для каждой версии ядра, но они удобно упакованы для вас в репозитории. Попробуйте установить его следующим образом:

sudo apt-get install linux-headers-$(uname -r)

Обратите внимание, что ваша версия ядра передается через команду uname -r.

2
ответ дан 24 May 2018 в 15:14

Другие вопросы по тегам:

Похожие вопросы: