shutdown(2) System Calls Manual shutdown(2) NAME shutdown - shut down part of a full-duplex connection LIBRARY Standard C library (libc, -lc) SYNOPSIS #include int shutdown(int sockfd, int how); DESCRIPTION The shutdown() call causes all or part of a full-duplex connection on the socket associated with sockfd to be shut down. If how is SHUT_RD, further receptions will be disallowed. If how is SHUT_WR, further transmissions will be disallowed. If how is SHUT_RDWR, further receptions and transmis- sions will be disallowed. RETURN VALUE On success, zero is returned. On error, -1 is returned, and errno is set to indicate the error. ERRORS EBADF sockfd is not a valid file descriptor. EINVAL An invalid value was specified in how (but see BUGS). ENOTCONN The specified socket is not connected. ENOTSOCK The file descriptor sockfd does not refer to a socket. STANDARDS POSIX.1-2024. HISTORY POSIX.1-2001, 4.4BSD (first appeared in 4.2BSD). NOTES The constants SHUT_RD, SHUT_WR, SHUT_RDWR have the value 0, 1, 2, respec- tively, and are defined in since glibc-2.1.91. BUGS Checks for the validity of how are done in domain-specific code, and before Linux 3.7 not all domains performed these checks. Most notably, UNIX do- main sockets simply ignored invalid values. This problem was fixed for UNIX domain sockets in Linux 3.7. SEE ALSO close(2), connect(2), socket(2), socket(7) Linux man-pages 6.18 2025-10-29 shutdown(2)