Решено: Послать сигнал из ядра (как?)

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Ivanhoe
Сообщения: 136

Решено: Послать сигнал из ядра

Сообщение Ivanhoe »

Хелп_ми_плиз. Допустим, мы знаем PID некоторого процесса. Как из ядра послать ему SIGTERM (да и любой другой сигнал)?

Код: Выделить всё

#include <signal.h>

{
    kill(pid, SIGTERM);
}
не работает...
Все погибнут при гравитационном коллапсе, Маша...
---
Затрать 5 минут в неделю. Сделай OpenOffice.org лучше http://community.i-rs.ru/index.php/topic,3241.0.html
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Решено: Послать сигнал из ядра

Сообщение Zeus »

А вообще ядро посылает сигналы?
Ему это зачем, если оно, собственно, сигналы, как я понимаю, доставляет?
Т.е. вызывает функции, "подписанные" на тот или иной сигнал и изменяет состояние процесса в своих внутренних структурах.
Спасибо сказали:
int_0dh
Сообщения: 20
ОС: Linux

Re: Решено: Послать сигнал из ядра

Сообщение int_0dh »

Ivanhoe писал(а):
28.07.2007 17:47
Хелп_ми_плиз. Допустим, мы знаем PID некоторого процесса. Как из ядра послать ему SIGTERM (да и любой другой сигнал)?

Код: Выделить всё

#include <signal.h>

{
    kill(pid, SIGTERM);
}
не работает...

например proc_kill(current->pid, SIGTERM, 1) тоже не работает ?
тогда попробуйте воспользоваться grep ...
Спасибо сказали:
Аватара пользователя
Vorb
Сообщения: 166
Статус: Ярый антифорточник
ОС: Gentoo Linux

Re: Решено: Послать сигнал из ядра

Сообщение Vorb »

kill - системный вызов. В 2.4 можно было просто юзать sys_kill из ядра и не парится, в 2.6 все сложнее из-за того, что не экспортируется sys_call_table. Есть 2 способа - или залезть в кернел и заставить экспортировать таблицу системных вызовов, или просто указать адрес системного вызова взяв его в System.map. Первый способ - дыра в безопасности, второй не переносим..
Другого способа не знаю (
И на обломках Microsoft напишут наши имена!
Спасибо сказали:
Аватара пользователя
Ivanhoe
Сообщения: 136

Re: Решено: Послать сигнал из ядра

Сообщение Ivanhoe »

Про sys_kill() я читал, но не знал, что он в 2.6 не работает. Хорошо, оставим безумную идею ))

Тогда задам другой вопрос. В новом треде. А этот, наверно, можно закрыть.
Все погибнут при гравитационном коллапсе, Маша...
---
Затрать 5 минут в неделю. Сделай OpenOffice.org лучше http://community.i-rs.ru/index.php/topic,3241.0.html
Спасибо сказали:
Ответить