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