Tenemos el hallazgo a este disgusto, al menos eso esperamos. Si sigues con dudas deja tu comentario y sin dudarlo te ayudaremos
Solución:
Como se dice en los comentarios, Ctrl-C no mata a la tail
proceso, que se realiza mediante el envío de una señal SIGTERM o SIGKILL (la infame -9
…); simplemente envía un SIGINT que le dice tail
para finalizar el modo de avance y salir.
FYI, esta es una mejor herramienta:
less +F filename
En less
puede pulsar Ctrl-C para finalizar el modo de reenvío y desplazarse por el archivo, luego presione F para volver al modo de avance nuevamente.
Tenga en cuenta que less +F
es defendido por muchos como una mejor alternativa a tail -f
. Para conocer la diferencia y las advertencias entre las dos herramientas, lea esta respuesta: ¿Es `tail -f` más eficiente que `less +F`?
Lo que quiero es una forma normal de dejar de fumar, como q en la parte superior.
Ese es ControlC 🙂
Solo tengo curiosidad sobre la pregunta, porque siento que matar el proceso no es una buena manera de dejar algo.
^C
(ControlC) envía un SIGINT al proceso, que se define como:
La señal SIGINT es enviada a un proceso por su terminal de control cuando un usuario desea interrumpir el proceso.
Eso es exactamente lo que quieres hacer aquí, es interrumpir tail
. No hay otra manera de lograr lo que está tratando de hacer (“muy bien” dejar de lado) y mientras que otras respuestas brindan un medio para detener tail
en otros aspectos, no son mejores.
Prensado ^C
intentará interrumpir una tarea en Linux; esto es perfectamente normal, y solo “no es bueno” si ese proceso está en medio de algo y no lo deja terminar, y entonces el único efecto secundario “no es bueno” son cosas sobrantes de ese proceso. Como ejemplo, ^C
en medio de un make
El comando deja el software parcialmente compilado, pero está bien: una nueva ejecución de make
limpiará eso / reanudará donde lo dejó.
tail -f
nombre de archivo, cómo salir del modo sin uso Ctrl C para matar el proceso
No puedes hacer eso. Tal vez querías correr tail -f somefile | less
El Ctrl C es interpretado por el subsistema tty (y por su shell) y envía un SIGINT
señal (ver señal(7) y pty(7)…). Ver tty desmitificado.
Agradecemos que desees añadir valor a nuestra información cooperando tu experiencia en las notas.