Ayer surgio la necesidad de tener que actualizar los ports de laptop.us.BSDlatino.org, los cuales eran BASTANTES debido a una instalación al parecer completa incluyendo Xorg. El principal problema que tube fue que no tengo una conección muy ESTABLE que digamos y mucho menos tengo Energia Electrica ESTABLE 😛 ( esto es un problema al cuadrado ) pero en ese momento me viene a la mente screen, ( screen – screen manager with VT100/ANSI terminal emulation – sacado del man screen )
Screen is a full-screen window manager that multiplexes a physical ter-
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
Y esta aplicación resolvio mi problema al instante. Como ? muy facil, depues de instalar screen en la maquina ya mencionada solo ahi que conocer 3 comandos basicos.
1 – se corre la aplicación
Laptop# screen
Esto te llevara a un mensaje de bienvenida que desaparece con presionar cualquier tecla y te lleva a un shell.
2 – se corre la aplicación la cual tiene que permanecer ejecutandoce por mucho tiempo. Ejemplo: Actualización de mas de 74 ports de la colleción de ports de FreeBSD
3 – luego que se encuentra en medio de la aplicación puedes hacer Detach con solo precionar Ctrl+a
Ctrl+d presionando ese juego de teclas se sale automaticamente del proceso el cual se realizo estando dentro de screen y para volver a conectarse a ese proceso solo basta con saber el numero de la sesion en screen que se consigue de la siguiente manera screen -list nos sale una lista de proceso screen que tengamos corriendo.
Laptop# screen -list
There is a screen on:
40147.ttyp0.Laptop (Detached)
1 Socket in /tmp/screens/S-root.
Laptop#
ya tenemos cual es el proceso en el screen al cual queremos volver a conectarnos asi que realizamos este simple comando: screen -R 40147 y UALA ! ya estamos devuelta en el proceso que habiamos abandonado anteriormente y con algo de progreso 😉
Asi que ya no tenemos que tener una sesion SSH a un servidor realizando compilaciónes o algo por el estilo, solo corremos nuestro proceso screen y luego le hacemos el Detach.
Enlaces de interes:
http://gentoo-wiki.com/TIP_Using_screen
http://www.linuxgazette.com/node/122