Portál AbcLinuxu, 1. června 2025 03:08


Dotaz: Server po pade este asi 2 minuty nejde spustit

20.10.2007 19:04 ajikdpoe | skóre: 23 | blog: dvh
Server po pade este asi 2 minuty nejde spustit
Přečteno: 281×
Odpovědět | Admin
Mam server ktory bezi na nejakom konkretnom porte. Ked server spadne alebo je nekorektne ukonceny a su na neho pripojeny nejaky klienti, tak server nedokaze ihned pocuvat na tom istom porte. Hlasi chybu bind. Je to aj ked ukoncim vsetky klientske procesy. Je to jediny server, neforkuje sa. Musim proste pockat cca 2 minuty potom uz server normalne nabehne. Neviete co mam spravit aby som mohol server pustit hned? Nemozem 2 minuty cakat.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.10.2007 19:46 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pravděpodobně se ten program neukončí hned, ale běží dál a provádí po sobě nějaký úklid. A na příslušném portu stále naslouchá, takže se na něj nemůže připojit jiný proces. Můžete zkusit vypsat běžící procesy )např. ps ax), případně si vypsat, který proces na jakémportu naslouchá (netstat -nlp). Ten naslouchající proces pak můžete násilím ukončit – ale to bych nedělal, pokud se program po sobě pokouší uklidit, asi ví, co dělá.

Spíš bych se zaměřil na to, proč ten server padá – to by neměl být normální stav. Řešit aby když už server padá, aby se alespoň rychle znovu spustil, to je opravdu nouzovka.
20.10.2007 20:45 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
>> Pravděpodobně se ten program neukončí hned

Toto urcite nie je ten pripad. Spustim server, v `netstat -nlp` ho vidim. Ked padne, uz tam nie ani v 'ps aux', ale pripojit sa nemozem.

Toto sa deje odkedy pouzivam linux (cca 6 rokov) ale az teraz som si konecne povedal ze je na case prist na to preco sa to deje.

Ten server pada preto ze je to program ktory aktivne vyvijam. Zmenim par riadkov, spustim, spadne (kvoli niecomu inemu ako siet, siet je v pohode, moze to byt napr. 2x uvolnena premenna v nejakom grafickom komponente alebo ina blbost). Opravim to za 10s ale musim dalsie 2 minuty cakat kym ho mozem znova spustit. Je to stasne stasne strasne otravne.
20.10.2007 23:34 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
Program už být ukončený může, ale sokety přiděluje systém a je tam nějaký timeout než ho uvolní... Mělo by pomoct to setsockopt reuseaddr jak tu bylo zmíněno.
Luboš Doležel (Doli) avatar 20.10.2007 20:48 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
S tím už jsem se setkal i při vývoji vlastních programů. Odstřelil jsem server, ale dokud jsem nesestřelil i klienta, který byl k serveru připojený (na svůj socket ještě close() nezavolal), tak opětovný bind nešel...
frEon avatar 20.10.2007 23:29 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
sice zalezi za jakych okolnosti a jak to pada, ale ve spouste pripadu by ti mohlo pomoct odchytavat signaly a pred padem zavolat close();
Talking about music is like dancing to architecture.
20.10.2007 21:43 petys
Rozbalit Rozbalit vše Re: Server po pade este asi 2 minuty nejde spustit
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus pomocí setsockopt nastavit SO_REUSEADDR...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.