isatty — test whether a file descriptor refers to a terminal


#include <unistd.h>

int isatty(int fd);


The isatty() function tests whether fd is an open file descriptor referring to a terminal.

Return Value

isatty() returns 1 if fd is an open file descriptor referring to a terminal; otherwise 0 is returned, and errno is set to indicate the error.



fd is not a valid file descriptor.


fd refers to a file other than a terminal. On some older kernels, some types of files resulted in the error EINVAL in this case (which is a violation of POSIX, which specifies the error ENOTTY).


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
isatty() Thread safety MT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

See Also

fstat(2), ttyname(3)


This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at

Referenced By

bash(1), clush(1), mailcap(4), rc(1), tcpslice(8), ttyname(3).

2019-03-06 Linux Programmer's Manual