Hacer una stracede las tail -f, que explica todo. La parte interesante:
13791 fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
13791 fstatfs(3, {...}) = 0
13791 inotify_init() = 4
13791 inotify_add_watch(4, "/path/to/file", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1
13791 fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
13791 read(4, 0xd981c0, 26) = -1 EINTR (Interrupted system call)
¿Que hace? Configura un inotifycontrolador para el archivo y luego espera hasta que ocurra algo con este archivo. Si el núcleo dice a tailtravés de este controlador inotify, que el archivo cambió (normalmente, se adjuntó), entonces tail1) busca 2) lee los cambios 3) los escribe en la pantalla.
/proc/3844/fd/1en su sistema hay un enlace simbólico /dev/pts/14, que es un dispositivo de caracteres. No existe algo así como un "mapa de memoria", al que se pueda acceder con eso. Por lo tanto, no hay nada cuyos cambios se puedan firmar en la notificación, ya que no hay un disco o área de memoria a la que se pueda acceder.
Este dispositivo de caracteres es un terminal virtual, que prácticamente funciona como si fuera un socket de red. Los programas que se ejecutan en este terminal virtual se conectan a este dispositivo (como si se conectara a un puerto TCP) y escriben en lo que quieren escribir. También hay cosas más complejas, por ejemplo, bloquear la pantalla, secuencias de control de terminal y demás, que normalmente se manejan mediante ioctl()llamadas.
Creo que de alguna manera quieres ver una terminal virtual. Se puede hacer en Linux, pero no es tan simple, necesita algunas funciones de proxy de red y un poco de uso complicado de estas ioctl()llamadas. Pero hay herramientas que pueden hacer eso.
Actualmente no puedo recordar qué paquete de Debian tiene la herramienta para este objetivo, pero con un poco de búsqueda en Google probablemente pueda encontrarlo fácilmente.
Extensión: como @Jajesh mencionó aquí (dale un +1 si me diste), la herramienta se llama watch.
Extensión # 2: @kelnos mencionó, un simple cat /dev/pts/14también fue suficiente. Lo intenté, y sí, funcionó, pero no correctamente. No experimentamos mucho con eso, pero me parece como si una salida de entrar en esa terminal virtual ido bien a la catorden, o en su ubicación original, y nunca a ambos. Pero no es seguro.