Russian Qt Forum
Март 29, 2024, 15:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Загрузка модуля ядра  (Прочитано 3531 раз)
BIS
Гость
« : Октябрь 11, 2016, 13:23 »

Есть проблема: загрузить (ну м потом выгрузить) модуль ядра из Qt-приложения. Как это делается ручками понятно : из терминала
 sudo insmod  имя_модуля параметры_запуска
sudo rmmod  имя_модуля
Вариант запуска при старте операционной системы не подходит, модуль должен функционировать только на время работы прикладного ПО и его параметры тоже зависят от одного из процессов из состава ПО.
Пробовала запускать insmod как процесс (класс QProcess, метод start). Компилятор ошибки не выдает, но модуль не загружается, хотя я запускаю прикладной процесс под sudo (прикладной процесс - это тот, из которого нужно загрузить модуль ядра).
Пробовала из прикладного процесса выполнять system(" sudo insmod имя_модуля параметры_запуска") - модуль загружается, но мой прикладной процесс слетает.
Есть мысли?
Записан
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #1 : Октябрь 11, 2016, 20:29 »

загружать модуль на старте ОС, при этом он будет неактивен
потом через fcntl активировать его

Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Октябрь 14, 2016, 14:01 »

>>Компилятор ошибки не выдает
компилятор ошибки и не выдаст, т.к. для него одна текстовая строка ничем не лучше другой.

надо смотреть что возвращает  QProcess::error () и QProcess::state ()
Записан

Юра.
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #3 : Октябрь 23, 2016, 14:29 »

При запуске ручками команда sudo - просит ввести пароль - так же? Если из программы это делать скорее всего она не получает пароль.
Для проверки можно свою программу запустить из под sudo. Скорее всего дочерний вызов так же будет из под sudo. Второй вариант внести свой сервис в список sudoers, чтобы на него sudo пароль не спрашивало. Если в этом конечно дело.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.