Eu executo muitos programas no Ubuntu a partir do terminal, mas gostaria de poder continuar usando o terminal depois de abrir um programa. Como posso colocar os programas em segundo plano para não precisar abrir outra janela?
Eu executo muitos programas no Ubuntu a partir do terminal, mas gostaria de poder continuar usando o terminal depois de abrir um programa. Como posso colocar os programas em segundo plano para não precisar abrir outra janela?
Respostas:
Existem diferentes maneiras de executar um programa do terminal e continuar usando o terminal:
&
ao comando que você executa. Esteja ciente de que você não verá a saída de texto no terminal, como mensagens de erro.bg
. Isso tem o mesmo efeito que a execuçãocommand &
nohup command &
e pressionar enter. (Graças a ccpizza , veja os comentários abaixo.)No entanto, pressionar Alt- F2e, em seguida, executar seu comando a partir da GUI é geralmente considerado uma prática recomendada - não há terminal!
Observe que ao usar &
(não nohup
), o fechamento do terminal ainda encerrará o aplicativo, a menos que você execute disown
posteriormente .
EDIT: Parece que o uso nohup
às vezes deixa pequenos excrementos na sua pasta pessoal. O que normalmente teria sido registrado no terminal é aparentemente salvo em um arquivo em ~ /.
~~
É uma maneira simples de executar um programa em segundo plano program-name & disown
, que o levará a um terminal que pode ser fechado sem interromper o processo.
program-name & disown
é uma boa solução
Você pode usar setsid
para executar o programa em uma nova sessão, além de &>/dev/null
não receber nenhuma mensagem de log.
Então seria como
setsid program-name &>/dev/null
Usando o screen
comando, você pode abrir várias sessões de terminal usando uma única janela e tocar em
apt-get install screen (On Debian based Systems)
yum install screen (On RedHat based Systems)
screen
(iniciar nova tela)
[Your command]
Ctrl+A d
para sair da tela ... e assim por diante
Você pode executá-lo em um terminal virtual como tmux
(ou, screen
mas ouvi dizer que não é mais mantido)
# This ataches your terminal to a virtual terminal
tmux
run_your_command
# This detaches your virtual terminal (previous command can be running)
CTRL-b d
run_other_commands # on your terminal
# re-attach the virtual terminal to see the status of run_your_command
tmux a
tmux
pode fazer muito mais, como:
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
nohup firefox&
.