Como abrir um aplicativo no terminal e desanexá-lo? [duplicado]

16

Eu abri o Cairo-dock no meu terminal com: open cairo-dock e isso funcionou, mas se eu fechar o terminal ele vai com ele. Como posso mantê-lo aberto, independentemente do terminal?

    
por Jryl 05.03.2013 / 13:34

3 respostas

20
  

nohup é um comando POSIX para ignorar o sinal HUP (hangup). O sinal HUP (hangup) é, por convenção, o modo como um terminal avisa, dependendo dos processos de logout.   A saída que normalmente iria para o terminal vai para um arquivo chamado nohup.out, se ele ainda não tiver sido redirecionado.   nohup é um utilitário de baixo nível simplesmente configurando um comando para ignorar um sinal. Como visto abaixo, o nohup está muito longe de ser um sistema em lote com todos os recursos, resolvendo todos os problemas de execução de programas de forma assíncrona.

Veja o manual:

man nohup

Exemplo:

nohup cairo-dock &
    
por oerdnj 05.03.2013 / 13:36
16

Mais uma forma: disown

No bash shell, o comando disown builtin é usado para remover jobs da tabela de jobs, ou para marcar jobs de modo que um sinal SIGHUP não seja enviado para eles se o shell pai o receber (por exemplo, se o usuário efetuar logout) .

Por exemplo:

cairo-dock & disown
    
por pileofrocks 05.03.2013 / 15:46
7

Eu pessoalmente uso tela para esse tipo de coisa.

screen -d -m -S cairo_session open cairo-dock

O que é bom nisso é que, se você quiser encerrar o cairo-dock, poderá se reconectar à sessão de tela e finalizá-la.

screen -S cairo_session -X quit

Tela tem outros usos. É um multiplexador de terminais.

    
por llt 05.03.2013 / 14:32