forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 11.05.2023, 05:31
Nil A
Guest
 
Сообщений: n/a
По умолчанию sigaction(2)

Nil A написал(а) к All в May 23 03:34:32 по местному времени:

Нello, All!

С целью продуть немного, а то уже в тудее "Win & Lin" предложили. Так то самый смачный рулинукс обычно в дранках случается, но эпизодически, сейчас не та фаза.

Тут мне потребовалось выяснить, какая с@ка sighup присылает процессу каждый час (чую пятой точкой, какой-то логротейт). Ничего лучше, чем запачить, и добавить SA_SIGINFO не придумал. А ты, анонимус, что бы мне предложил, может быть какой-то новый тул придумали уже, чтобы прям как strace запустил, и кернел тебе сказал, откудова вестимы киллы?

И вот, с чего я начал, так то я не каждый день sigaction делаю, полез в man $САБЖ, а там флажков.. как у дурака фантиков, и вот что мне это напомнило.. шиндовз апи, они там так любят делать как раз. Когда группа винворда, прям в кернеле, делает свои какие-то специфичные сисколы, просто потому что им вот так сейчас удобно сделать, и внутри одной конторы это можно на Вась-Вась организовать, если на короткой ноге. Ну понятно, что есть System V (кстати Ви, или пять? шутка), есть POSIX, кстати винды как-то прям тоже пристраиваются рядом, что они все такие Посиксы в разных местах своих.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
  #2  
Старый 11.05.2023, 09:01
Alexey Fayans
Guest
 
Сообщений: n/a
По умолчанию sigaction(2)

Alexey Fayans написал(а) к Nil A в May 23 07:49:21 по местному времени:

Нello Nil!

On Thu, 11 May 2023 at 03:34 +0300, you wrote to All:

NA> А ты, анонимус, что бы мне предложил, может быть какой-то новый тул
NA> придумали уже, чтобы прям как strace запустил, и кернел тебе сказал,
NA> откудова вестимы киллы?

=== Start of trace_signals.stp ===
# processtree is from https://sourceware.org/systemtap/exa...etwork/connectstat.stp
# requires systemtap package
# usage: stap trace_signals.stp

function process_tree() {
curproc = taskcurrent();
parentpid = task_pid(task_parent(curproc));

while (parent_pid != 0) {
printf("%s (%d),%d,%d <- ", taskexecname(cur_proc), task_pid(cur_proc), task_uid(cur_proc), task_gid(curproc));
curproc = task_parent(curproc);
parentpid = task_pid(task_parent(curproc));
}
# init process
if (taskpid(curproc) == 1) {
printf("%s (%d),%d,%d\n", taskexecname(cur_proc), task_pid(cur_proc), task_uid(cur_proc), task_gid(curproc));
}
}

probe signal.send {
if (signame == "SIGKILL" || sig_name == "SIGTERM" || signame == "SIGНUP") {
printf("[%s] %s to %s (%d) by ", ctime(gettimeofdays()), sig_name, pid_name, sigpid);
process_tree();
}
}
=== End of trace_signals.stp ===


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
--- GoldED+/W32-MSVC 1.1.5-b20230214
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:32. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot