Co s neKILLnutelnym procesem?

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Listopad 29 23:03:22 CET 2011


On Tue, 29 Nov 2011, d.petr wrote:

> Jsou ukončena obě RT-vlákna. Zůstane však původní hlavní vlákno
> programu [...] Toto vlákno tedy zřejmě neběží, uvolní veškerou paměť,
> bohužel ale ne např. obsazený port UDP [...] A tento pozůstatek
> programu nejde KILLnout [...] Odstranit ho umím pouze restartem
> celého stroje.

K nečemu takovému by samozřejmě nemělo docházet. Podle popisu to vypadá,
jako by se hlavní vlákno zaseklo v jádře při svém ukončování a to mezi
exit_mm() a exit_files().

Podívejte se, co píše "ps l" ve sloupci WCHAN. Alternativně můžete zkoumat
asi tak pátou položku od konce v /proc/PID/stat. A zkontrolujte, zda má
skutečně pořád otevřené soubory a jmenovitě ten socket; místo lsof můžete
použít "ls -l /proc/PID/fd".

Také může být poměrně užitečné zkusit vyrobit nějaký minimalistický
příklad, který ten stav vyvolává, a zkusit ho na jiných strojích.

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /




Další informace o konferenci Linux