sábado, 15 de enero de 2011

Hacer que un programa lanzado desde una terminal no dependa de esta

Muchas veces queremos lanzar una aplicación como nautilus o cualquier otra desde una consola, y no encontramos con dos cosas.

1- La terminal se queda ocupada con la aplicación que se lanzó
2- Si cerramos la terminal, se cerrará el programa que se lanzó desde ella.

Para solucionar el primer caso solo tenemos que poner el símbolo "&"

Por ejemplo, para abrir el emesene

scorpyo@pc-cito:~$ emesene &

Para solucionar el segundo caso usaremos el comando "nohup"

scorpyo@pc-cito:~$ nohup emesene &

Otro dato añadido por cpcbegin:

Si quieres que tampoco aparezcan mensajes en la consola: 

cpcbegin@pc-cito:~$ nohup emesene & >/dev/null 2>/dev/null
Eso es todo.

Espero que a mas de uno le saque de algún que otro problema.

4 comentarios:

  1. Solo un apunte a esta entrada, si quieres que tampoco aparezcan mensajes en la consola:

    nohup emesene & >/dev/null 2>/dev/null

    Un saludo.

    ResponderEliminar
  2. Buenas,
    Tengo un problemilla con el nohup, y es que funciona bien, pero no puedo cerrar la sesión de mi usuario porque se queda colgada al intentar salir.
    ¿Alguna solución a esto?
    Gracias.

    ResponderEliminar
  3. Se queda colgada al intentar salir... ¿a que te refieres?
    Si iniciaste algún proceso con nohup y luego cierras sesión con tu usuario, el proceso muere al cerrar, al menos es lo normal.
    Todos los procesos que sean de tu usuario dependerán de la sesión y no al revez.

    Un saludo.

    ResponderEliminar

Deja aquí tu mensaje...