Quiero ejecutar un script bash en una pantalla separada. El script llama a un programa varias veces, cada uno de los cuales tarda demasiado en esperar. Mi primer pensamiento fue simplemente abrir una pantalla y luego llamar al script, pero parece que no puedo separar (by ctrl-a d
) mientras el script se está ejecutando. Así que investigué un poco y encontré estas instrucciones para reemplazar el shebang con lo siguiente:
#!/usr/bin/screen -d -m -S screenName /bin/bash
Pero eso tampoco funciona (las opciones no se reconocen). ¿Alguna sugerencia?
PD: Hace un momento se me ocurre que screen -dmS name ./script.sh
probablemente funcionaría para mis propósitos, pero todavía tengo curiosidad acerca de cómo incorporar esto en el guión. Gracias.
fuente
"$0"
para qué sirve aquí?screen
que invoca el/bin/bash
que invoca el script nuevamente.Según las páginas del manual de la pantalla:
screen -d -m
Pantalla de inicio en modo separado. Esto crea una nueva sesión pero no se adjunta a ella. Esto es útil para los scripts de inicio del sistema.-S sessionname
Establezca el nombre de la nueva sesión en sessionname.Entonces, cuando ejecuté el comando que proporcionaste:
screen -dmS name ./script.sh
Screen inicia una ventana llamada name y ejecuta automáticamente ese script.sh. Para volver a ver el estado, simplemente escriba:
screen -r test
Ahora con Ubuntu 14.04, los comandos son ligeramente diferentes. Tratar:
screen -d -m -S test
Ahora para ejecutar el script, deberá ir a su archivo de configuración para hacerlo:
sudo vim /etc/screenrc
Una vez allí, desplácese hacia abajo y verá:
Esta es la sección donde necesitará agregar el nombre del script para ejecutar y eso debería permitirle hacer todo lo que necesita desde la pantalla.
fuente
screen -dmS ...
) no funciona para mí, aunque realmente debería. Lo ejecuto y luegoscreen -ls
no se encuentran enchufes. Pensamientos?Esto es un poco viejo pero uno de los pocos hilos que pude encontrar para hacer esto. Después de jugar alrededor de la única forma de hacer que esto se ejecute en modo separado con ubuntu 14. es
El lanzamiento sería la segunda parte anterior que contiene los comandos java actuales y la versión del servidor. Yo corro vainilla.
fuente