reparenting procesu po preruseni ssh spojeni

Dan Lukes dan at obluda.cz
Wed Mar 25 15:12:36 CET 2020


Miroslav Lachman wrote on 25. 3. 2020 14:59:
>> 3. chybu procesu, ktery se rozhodne se neukoncovat.
> 
> Kdyz je v systemu takhel zaseknuty proces, je nejaka moznost, jak se k 
> nemu pripojit nejakym debugovacim nastrojem a zjistit, proc / na cem se 
> zaseknul? V tomhle jsem absolutne nezkuseny...

Debuggery jsou schopny se pripojit i k bezicimu procesu. A pokud je 
binar s debugovacima informacema a mas  k dispozici zdrojaky ze kterych 
by prelozen, budou ti umoznovat debugovani i v zdrojovem kody high-level 
jazyka ve kterym byl napsan.

Hackem muze byt:
1. proces pouziva sdilene knihovny a akualne se nachazi v nejaek takove. 
Neni to problem pokud vyse ivedene plati i pro dotcenou knihovnu (je 
prelozena s debugovacimi informacmei a mas zdrojaky).

2. proces provedl syscall a ten dosud neskoncil (tzn. provadi se 
in-kernel kod).

>> Tak mu omez maximalni dovoleny spotrebovany cas procesoru.
> Pod stejnym uzivatelem se na tom serveru spousti vice uloh.

Limit je na kazdy proces.

> Funguje tohle tak, ze se ten limit z login.conf bude aplikovat jen na ten 
> konkretni proces, ktery presahne ten CPU time? Tzn. opravdu to killne 
> jen tenhle vadny proces?

Signal SIGXCPU dostane jen proces, ktery prekrocil svuj soft limit. Ale 
nemusis to nutne globalne nastavovat v login.conf - na prikazove radce 
na to je prikaz ulimit, dalsi moznost je, ze si limit proces nastavi sam 
(v PHP funkce  posix_setrlimit)

> RESOURCE LIMITS
>       Name               Type      Notes     Description
>       cputime            time                CPU usage limit.
> 
> "time" ma jakou jednotku? Pocet sekund, ktere muze proces sezrat na CPU 
> a pak dojde k jeho ukonceni?

setrlimit to bere v sekundach, takze predpokladam, ze to tady bude 
stejne. Uz je to moc davno, co jsem to naposled pouzil ...

Dan




More information about the Users-l mailing list