El 03/06/2014 23:44, Debian GMail escribió:
El 03/06/14 17:08, Alejandro Esperón escribió:Debian GMail <javier.debian.bb.ar@gmail.com> wrote:Estimados: Recurro a ustedes, que tienen una mucho más basta experiencia que yo. Como buen vejete que soy, la terminal para mí es algo fundamental y que nunca dejo de lado, aunque sea con un emulador de terminal gráfico. Voy al tema. Si uno lanza un programa desde una terminal, por ejemplo $ k3b no sólo no puedo seguir usando dicha terminal, si no que al cerrar la ventana, se cierra el programa. Para evitarlo, va el consabido $ k3b & Esto me permite seguir usando la terminal, pero si llego a cerrarla, se cierra el programa k3b. Sé que hay una forma, y es,luego de cargar con la opción "&" y antes de cerrar la terminal, tipear $ disown -h %1 Pero a veces, me olvido.... Cuando invoco un programa desde la barra inferior de comandos de Krusader, que en la práctica sería una mini-terminal, uno puede invocar un programa, cerrar Krusader y el programa invocado no se cierra. Esto quiere decir que de alguna manera se las apaña. La pregunta: ¿Se puede modificar algún archivo de algo para que al cerrar la terminal, automáticamente ejecute "disown -h %1" y no me cierre otros programas? Muchas gracias JAP> nohup comando > Olvidé mencionar a "nohup".
También puedes usar "screen". Yo no podría vivir sin él.
Lo que yo quiero, es invocar un programa desde terminal con la llamada a "&", y luego, aunque no haya puesto "nohup" o "disown", no me cierre el programa, mediante el "toqueteo" de alguna configuración de konsole, xterm o la que fuese. Es decir, que se comporte de esa manera por defecto. O sea, el/los programas los quiero cerrar yo, cuando yo quiera, en el orden que se me antoja, incluida las ventanas de consola.
Si quieres ver un listado de los ficheros y directorios debes teclear "ls". Pero si siempre olvidas la "l" no veras nada. De la misma manera cuando lanzas un proceso desde un terminal el primero es hijo del segundo. Por esto, si cierras el terminal matas todos sus procesos hijos. Afortunadamente hay varias maneras de evitar esto, por ejemplo nohup, disown, screen... y gestionar los procesos con job, fg ,bg...
Así es como funciona.
Por ejemplo, una solución sería que todos los programas que invoque se hagan con el prefijo "nohup" aunque no lo escriba.
Busca si puedes hacer eso con 'alias'
Una de las ventajas es que "nohup" crea un archivo "log" de lo que uno corre, pero a veces, eso es desventaja, porque quiero ver el trazado en tiempo real.
Usa las redirecciones 2>&1 o /dev/null si no quieres el nohup.out
Gracias JAP
-- Francesc Guitart