Kde se bere SIGKILL?

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Září 23 16:16:21 CEST 2021


On Thu, 23 Sep 2021, Jan Kasprzak wrote:

> Ale na kprobe:do_send_sig_info neni videt, ze by ten SIGKILL nekdo 
> zasilal. Cili to musi byt jedno z nemaleho poctu mist, kde se SIGKILL 
> generuje interne v kernelu. Nektere ty pripady jde vyloucit rovnou, 
> protoze je kolem nich nejaky printk(), a ja v dmesg nic podezreleho 
> nevidim.
>
> Mate nejaky tip kde hledat, aniz bych musel projit vsechny vyskyty
> slova SIGKILL ve zdrojich kernelu?

Vhodné místo, kam se napíchnout přes kprobe, je asi __send_signal 
(send_signal bez podtržítek by mohl být někde inlajnovaný), tam by se 
měly seběhnout všechny varianty toho, jak signál vygenerovat.

Nebo sledovat událost signal_generate přes ftrace. (Jinak ftrace velmi 
doporučuji, akorát se musí člověk naučit ta správná zaklínadla.)


On Thu, 23 Sep 2021, Jan Kasprzak wrote:

> 	Od rodice ne, ale nakonec to byl rlimit na CPU time. Jen jen 
> zahadou, proc se to projevilo jen na pomale siti. Ze by to stalo o tolik 
> vic casu? Taky jsem teda mel zafixovane, ze prekroceni limitu se hlasi 
> pres SIGXCPU, ne pres SIGKILL.

SIGXCPU se pošle při překročení soft limitu.

Při překročení hard limitu je to pak SIGKILL, ale to už je linuxové 
specifikum.

-- 
Pavel Kankovsky aka Peak                      "Que sçay-je?"


Další informace o konferenci Linux