Co s neKILLnutelnym procesem?

Tom Meinlschmidt tomas na meinlschmidt.org
Úterý Listopad 29 17:09:07 CET 2011


On Nov 29, 2011, at 16:56 , d.petr wrote:

>> ------------ Původní zpráva ------------
>> Od: Tom Meinlschmidt <tomas na meinlschmidt.org>
>> ----------------------------------------
>>>>>>> Jsou ukončena obě RT-vlákna. Zůstane však původní hlavní vlákno programu
>>>>>>> (sleduji programem 'top -H'; PID patří původnímu hlavnímu vláknu, další
>>>>>>> hodnoty jsou PR=20, NI=0, VIRT=RES=SHR=0, S="S", %CPU=%MEM=0). Toto
>> vlákno
>>>>>>> tedy zřejmě neběží, uvolní veškerou paměť, bohužel ale ne např. obsazený
>>>>>>> port UDP (hlavní vlákno při spuštění otevřelo serverovou stranu
>> komunikace
>>>>>>> UDP). A tento pozůstatek programu nejde KILLnout ani v 'top', ani
>> příkazem
>>>>>>> killall, ani 'kill PID', ani použitím 'kill -9 PID' (všechny pokusy o
>>>>>>> zničení spouštím jako root, program byl také spuštěn rootem). Odstranit
>> ho
>>>>>>> umím pouze restartem celého stroje.
>>>>>> 
>>>>>> Viz zde: http://www.cyberciti.biz/tips/killing-zombie-process.html a zde:
>>>>>> http://en.wikipedia.org/wiki/Zombie_process
>>>>>> -- 
>>>>>> Leonardo
>>>>> 
>>>>> 
>>>>> Aha, asi jsem Vás zmátnul tím svým "nemrtvým". To je mou nedostatečnou
>>>> znalostí obecně vžité terminologie. Pravého zombíka zřejmě nemám, stav není
>> "Z",
>>>> ale "S". KILLnout rodičovský proces (v mém případě 'sh') mohu, ale to na
>>>> existenci nezmara nemá vliv. A navíc můj nezmar patrně stále okupuje port,
>>>> přitom podle těch popisů (jestli jsem je pochopil správně) by zombík už nic
>>>> držet neměl.
>>>>> PM
>>>> 
>>>> jen pro kontrolu. co Vam vypise "lsof -i UDP:vas_zabrany_port" ? a jeste
>> "lsof
>>>> -p pid_procesu"
>>>> Diky
>>>> TM
>>> 
>>> 
>>> Jedná se o poměrně ořezaný embedded Linux, lsof nemá.
>>> PM
>> 
>> aha. A zkousel jste na ten UDP port neco poslat? obcas to pomuze, proces se
>> "probudi" a umre
>> TM
> 
> 
> Nadřízený PC posílá periodicky dotaz, ale nikdo mu neodpovídá. Mohu spustit ten program znovu, jako další instanci (je to správný výraz?), ale přesto komunikce nejde, z toho usuzuji na obsazený port.
> PM

Jde o to, ze ten proces 'visi' na udp portu a ceka na nejaka data (wait). V okamziku killnuti bohuzel nereaguje na SIG* a zustava viset. proto obcas pomuze poslani dat na zarizeni nebo port, na kterem to visi - treba udp port. predpokladam, ze "wait vas_pid" taky nepomaha.. pak myslim, ze opravdu jedine reseni bude prepsat || restart

TM

-- 
===============================================================================
Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache

www.meinlschmidt.com  www.maxwellrender.cz  www.lightgems.cz
===============================================================================



Další informace o konferenci Linux