Jak "násilím" uvolnit syst. prostředky? - zavření naslouchacího soketu – OS - Windows – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Jak "násilím" uvolnit syst. prostředky? - zavření naslouchacího soketu – OS - Windows – Fórum – Programujte.comJak "násilím" uvolnit syst. prostředky? - zavření naslouchacího soketu – OS - Windows – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
hlucheucho+10
Posthunter
8. 3. 2016   #1
-
0
-

Ahoj,

při ladění mého programu se vyskytl malý problém. Pokaždé když program ukončím pomocí "Stop Debugging" zůstane otevřený naslouchací soket. Debugger ho nezavře a můj předčasně ukončený program také ne. Při dalším spuštění pak nemohu otevřít naslouchací soket a vznikne vyjímka. Je nějaká možnost vyjma resetu, jak tento soket zavřít z OS? Používám MS VS 2015 Community, Windows 10. Program je napsaný v C#.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Reklama
Reklama
peter
~ Anonymní uživatel
2551 příspěvků
9. 3. 2016   #2
-
0
-

Ja si ted v php hraji s web-socketem. Tam je nekonecna smycka, ktera nasloucha socketum. Kdyz vyprsi timelimit, tak se to vse uzavre. Kdyz ale pred tim vykrizkuji okno beziciho programu, tak to zustane otevrene a musim restartovat apache.

Nestacilo by si udelat spesl program, ktery ti to uzavre?
https://msdn.microsoft.com/…s.85%29.aspx

Nahlásit jako SPAM
IP: 2001:718:2601:26c:b866:9d...–
hlucheucho+10
Posthunter
9. 3. 2016   #3
-
0
-

Problém je, že k neuvolněným syst. prostředkům ztratím přístup v okamžiku, kdy udělám "Stop Debugging". Pokud by program doběhl řádně do konce, k uzavření soketu by došlo, jenže až u odladěného programu. Jakmile se pokusím aby jiný program získal přístup k syst. prostředkům, zanesu další chyby do laděného programu. Potřebuji něco spolehlivého, odladěného.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Mutagen
~ Anonymní uživatel
439 příspěvků
10. 3. 2016   #4
-
0
-

#3 hlucheucho
A co třeba při startu programu zkontrolovat zda je socket aktivní a pokud ano killnout ho a založit nový pro používání?

Nahlásit jako SPAM
IP: 212.47.26.–
hlucheucho+10
Posthunter
10. 3. 2016   #5
-
0
-

Killnout ho... a to je ten problém! Jak, když k němu nemám přístup? Celý problém je při ladění - když program ukončím pomocí "Stop Debugging". Debugger soket nezavře, program to má dělat na konci při korektním ukončení, ale tam kvůli ukončení na nějakém příkazu kdesi uprostřed nedojde. "Stop Debugging" neumožňuje programu uvolnit syst. prostředky a jak jsem zjistil, debugger to při ukončení ladění neudělá, soket zůstane otevřený. Otázka zněla, jak uvolnit takto zablokované systémové prostředky ručně abych mohl pokračovat v ladění programu bez zdlouhavého resetu. Jak takový soket uzavřít "násilím", z operačního systému, protože OS je jediný, kdo by s tím mohl něco udělat. Podrobněji to znamená 1. Najít pomocí nástrojů OS nebo třetích stran tento "bezprizorní" soket a 2. zavřít ho.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
KIIV+42
God of flame
10. 3. 2016   #6
-
0
-

Jen ciste teoreticky, nemuzes ten program ukoncit normalne? Misto zastavovani pomoci stop debug? Klavesova zkratka nebo tak?

Mimochodem nekde jsem nasel zminku o tom, ze to muze blokovat i vec jako spousteni dalsich procesu (muze to predavat vsechny sockety dal - jako ze se pusti nejakym forkem misto shell execute)

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hlucheucho+10
Posthunter
10. 3. 2016   #7
-
0
-

https://technet.microsoft.com/en-us/sysinternals/bb897437

vyzkoušel jsem to na radu jednoho "ortodoxního" windowsáka.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
hlucheucho+10
Posthunter
10. 3. 2016   #8
-
0
-

#6 KIIV
Může, díky výše uvedenému nástroji jsem si všimnul, že mi zůstane žít podproces, který si ten soket drží otevřený. Ukončení tohoto podprocesu uvolní i soket. Že jsem na to nepřišel při "čumění" do správce úloh.

U metody Process.Start() je upozornění, že spuštěné procesy je třeba odstranit jinak běží i po skončení procesu který je spustil. Prostě mi nedošly souvislosti :(

Korektní ukončení během ladění se občas nezadaří.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý