Skip to content
A fast and lightweight version of tail using inotify
Pull request Compare This branch is even with tklauser:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


 inotail - inotify enhanced tail

inotail is a replacement for the 'tail' program found in the base installation
of every Linux/UNIX system. It makes use of the inotify infrastructure in recent
versions of the Linux kernel to speed up tailing files in the follow mode (the
'-f' option). Standard tail polls the file every second by default while inotail
listens to special events sent by the kernel through the inotify API to
determine whether a file needs to be reread.

inotail is compatible to POSIX and GNU tail. See section "Compatibility &
options" for more information.

- Linux kernel 2.6.13 or higher with CONFIG_INOTIFY enabled
- Standard C Library (tested with GNU libc but might work with others too)
- GCC (other compilers might work but are not tested)

Building and installing inotail
To build inotail type:

	$ make

By default, inotail is installed to /usr/local/bin/, the manpage is installed to
/usr/local/share/man/man1/. To install the inotail files to these locations type:

	$ make install

To change these locations just set the prefix variable. E.g. to install the
inotail binary to /usr/ and the manpage to /usr/share/man/ respectively type:

	$ make prefix=/usr install

Compatibility & options
inotail is fully compatible with current POSIX and GNU tail, though the
obsolescent options present in previous versions of those are not present (e.g.
inotail +/-<num>). The following options are present in inotail for
compatibility reasons (e.g. to use inotail as a tail replacement in scripts) but
do have no effect on inotail besides emiting a warning:

-s N, --sleep-interval=N  inotail does not need a sleep interval because it's
			  relying on inotify.

--max-unchanged-stats=N   inotail watches the containing directory of the file
                          when following by name (--follow=name or -F). Thus it
                          gets notified when a file gets moved or deleted.

--pid=PID                 Watching the writer PID ios not possible, because
                          inotail blocks on the read() call on the inotify fd.
			  In the worst case, the dying process wouldn't cause an
			  inotify event, so inotail would never get back from
			  the read().

These options are neither documented in the manpage nor the in-program help.

inotail is licensed under the terms of the GNU General Public License version 2
or later. You can find the full text in the file LICENSE in the source tree of

-- Tobias Klauser <>
Something went wrong with that request. Please try again.