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