Tento příspěvek poskytne podrobnosti o připojeních TCP, která hlásí stavy „CLOSE_WAIT“. Možné hodnoty stavu pro sokety TCP jsou následující:
| BOUND | Připojeno, připraveno k připojení nebo poslechu. | 
|---|---|
| UZAVŘENO | Zavřeno. Zásuvka se nepoužívá. | 
| UZAVŘENÍ | Zavřeno, poté vzdálené vypnutí; čeká na potvrzení. | 
| CLOSE_WAIT | Vzdálené vypnutí; čekání na uzavření zásuvky. | 
| ZALOŽENO | Připojení bylo navázáno. | 
| FIN_WAIT_1 | Zásuvka uzavřena; vypnutí připojení. | 
| FIN_WAIT_2 | Zásuvka uzavřena; čekání na vypnutí z dálkového ovladače. | 
| NEČINNÁ | Nečinné, otevřené, ale nesvázané. | 
| LAST_ACK | Vzdálené vypnutí, poté zavřeno; čeká na potvrzení. | 
| POSLOUCHEJTE | Naslouchání příchozím připojením. | 
| SYN_RECEIVED | Aktivace/zahájení synchronizace přijata a připojení probíhá | 
| SYN_SENT | Aktivně se pokouší navázat spojení. | 
| TIME_WAIT | Po zavření počkejte na opětovné odeslání vzdáleného vypnutí. | 
„CLOSE_WAIT ‘ stav znamená, že druhý konec připojení byl uzavřen, zatímco místní konec stále čeká na ukončení aplikace.
Podrobnosti
Stav „CLOSE_WAIT“ u připojení tcp nastane, pokud systém neobdržel systémové volání close z aplikace poté, co obdržel oznámení (paket „FIN“) od druhého systému, že uzavřel svůj koncový bod. Jinými slovy to znamená, že místní konec připojení přijal „FIN“ z druhého konce, ale OS čeká, až program na místním konci skutečně uzavře své připojení.
Problém je, že program spuštěný na místním počítači neuzavírá soket. Nejedná se o problém ladění TCP. Připojení může zůstat v „CLOSE_WAIT“ navždy, zatímco program udržuje připojení otevřené. Takže většinou k tomuto problému dochází kvůli chybě aplikace. Pokud však parametry TCP/IP nejsou správně nastaveny, uzavřená připojení TCP/IP zůstanou po velmi dlouhou dobu v různých stavech „ZAVŘENO“, které z procesu odebírají deskriptory souborů. K vyřešení tohoto problému je někdy nutné vyladit parametry TCP/IP v /etc/sysctl.conf (například parametry net.ipv4.tcp_xxx), aby se spojení TCP/IP uzavřela v krátkém čase. .