Mantenha um programa em execução no terminal

8

Portanto, estou ciente nohupe sufixo os comandos &para garantir que eles entrem em segundo plano.

No entanto, se eu executar um aplicativo gráfico - às vezes, o uso de nenhum deles parece fazer o trabalho. Então, com o que posso prefixar um programa / comando para garantir que ele continue funcionando depois que o terminal for fechado?

Industrial
fonte

Respostas:

9

Se você deseja que o aplicativo continue em execução quando fechar a janela do terminal, faça o seguinte:

nohup chromium-browser &

Você precisa do nohupe do &.

  • nohup significa manter esse processo / comando em execução após o fechamento do shell.
  • & significa colocar esse processo / comando em segundo plano para que não bloqueie o shell (para que você possa usá-lo para outra coisa.
Marca
fonte
5

ao executar um programa em segundo plano por meio do operador &, ele ainda está anexado à sua sessão e pode ser controlado com fg, bg, trabalhos e renúncia.

Também tive alguns problemas com nohup, mas negar pode ser a coisa que você está procurando.

Quando você executa um programa em segundo plano, ele tem um ID de trabalho:

gedit &
[1] 5647

Esse número entre colchetes [] é o interessante. Para removê-lo da sua sessão, execute disown %ncom esse número. Para o exemplo acima:

disown %1

Agora você pode sair com segurança do terminal e o processo não será encerrado.

Axel
fonte
2

Para aplicações gráficas, simplesmente fazer algo assim deve funcionar (pelo menos para mim)

chromium-browser&

Para aplicativos de terminal, você deve usar algo como screenou tmux.

jrg
fonte
-1, pois isso não funcionará para o requisito de continuar em execução após o terminal ser fechado. +1 por sugerir screen / tmux.
Gdvdijk
@gertvdijk interessante, para aplicações GUI funciona para mim. Apenas testado usando o bash. Eu tive casos em que zsh vai reclamar se eu fazer isso e, em seguida, tentar sair ...
JRG
Eu estava usando o Konsole e executando o Kate nele com o &anexo. Kate fechará depois de fechar o Konsole.
Gdvdijk
-1

Feche o terminal a partir do qual você iniciou o programa gráfico, com

exit
Usuário desconhecido
fonte
Um comentário no voto negativo pode ser útil.
usuário desconhecido