Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Послать сигнал от модуля ядра пользовательской программе  (Прочитано 8330 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sava
Участник

by
Offline Offline

« : 10-12-2008 07:38 » 

Киньте пожалуйста ссылочку, в google воды налито, не могу по сути нигде найти.
Мне надо послать сигнал от модуля ядра, который при обработке в пользовательской программе выполнит необходимое действие
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 10-12-2008 07:41 » 

Код:
MODULE_LICENSE("GPL");

static int __init hello_in(void)
{
printk("KERN_ALERT Hello, World! From the KERNEL space...\n");
return 0;
}

static void __exit hello_out(void)
{
printk("KERN_ALERT Goodbye, World! Leaving KERNEL space...\n");
}

module_init(hello_in);
module_exit(hello_out);

sudo insmod hellomod.ko

и смотрим в лог:

mczim-desktop kernel: [365908.733723] KERN_ALERT Hello, World! From the KERNEL space...

теперь выгрузим наш модуль из ядра:

sudo rmmod hellomod.ko

продолжаем смотреть в лог:

mczim-desktop kernel: [366031.925420] KERN_ALERT Goodbye, World! Leaving KERNEL space...


printk, замени своим кодом.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #2 : 10-12-2008 07:43 » 

ну или, пожалуй, вот это будет по лучше!

http://gazette.linux.ru.net/rus/articles/lkmpg.html
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
den
Интересующийся

ru
Offline Offline

« Ответ #3 : 10-12-2008 10:22 » 

В модуле ядра можно использовать функцию
int send_sig(int sig, struct task_struct *p, int priv);

В пользовательской программе необходимо перехватить этот сигнал, как я думаю ты уже знаешь
Записан
Sava
Участник

by
Offline Offline

« Ответ #4 : 10-12-2008 13:06 » 

В модуле ядра можно использовать функцию
int send_sig(int sig, struct task_struct *p, int priv);

В пользовательской программе необходимо перехватить этот сигнал, как я думаю ты уже знаешь

вот я так и хотела, только как перехватить я не знаю  Скромно так...
может кинете подсказку...  Улыбаюсь

Записан
den
Интересующийся

ru
Offline Offline

« Ответ #5 : 10-12-2008 13:17 » 

http://www.citforum.ru/programming/unix/signals/
Записан
Sava
Участник

by
Offline Offline

« Ответ #6 : 10-12-2008 13:56 » 

den, спасибо! Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines