Mover o programa em execução para segundo plano no bash

9

Se eu estiver executando um programa no bash, posso suspendê-lo pressionando Ctrl + Z. Se eu quiser deixar o programa em execução, posso usar o comando bg . Existe alguma maneira de colocar diretamente o programa em segundo plano, sem ter que digitar bg ?

Esclarecimento : quero colocar o programa em segundo plano quando ele já estiver em execução, sem suspendê-lo.

    
por Kalle Elmér 10.09.2012 / 23:11

3 respostas

3

Eu não acho que é possível mover um programa em execução para segundo plano (enquanto o processo ainda está em execução).
No entanto, existe um aplicativo chamado GNU-Screen , usando o qual você pode executar qualquer número de aplicativos baseados em console - comando interativo shells, aplicativos baseados em curses, editores de texto, etc .-- em um único terminal.
Aqui está um bom tutorial no GNU-Screen.
Note que não faz exatamente o que você pediu, mas serve ao propósito de qualquer maneira. Exemplo:
Aqui está a implementação do que você pediu usando o GNU-Screen.

  1. Executar screen
    Você receberá detalhes sobre o software.Pressione a devolução.
  2. Agora, você verá seu terminal normal. No entanto, é uma janela de tela. Digite qualquer comando que diga vlc . Ele irá iniciar o processo dentro dessa janela.
  3. Agora para abrir um novo tipo de janela Ctrl + A e então C .Você pode executar um novo comando aqui.Note que o processo que você iniciou na janela 1 ainda está em execução.
  4. Para desanexar da tela, pressione Ctrl + A e, em seguida, D . Agora, retorne ao seu termo antigo. iniciado a partir da tela ainda estaria em execução.
por ignite 11.09.2012 / 00:44
4

Para o meu melhor conhecimento, você pode executá-lo e, em seguida, anexar um & amp; depois desse modo: myprogram &

Eu posso estar muito errado aqui.

[EDITAR]: Olhando mais de perto para isso, se você executar o acima, o aplicativo fechará quando você fechar o terminal. Se você quiser o aplicativo para rodar em segundo plano, então, até onde eu sei, o aplicativo precisa ser escrito de tal forma que suporte o comportamento do daemon.

[EDIT 2]: nohup command & parece estar mais próximo do que você deseja alcançar. O Nohup permitirá que um aplicativo seja executado e ignorará sua entrada e redirecionará sua saída para um arquivo chamado nohup.out no diretório atual.

    
por NlightNFotis 10.09.2012 / 23:51
0

Isso pode não ser uma resposta real. Gostaria de saber qual a diferença do Bash entre o Ubuntu com o MSYS.

Eu estou executando MSYS e quando eu executo Application/Chrome & , ele vai imediatamente para o processo em segundo plano. Eu posso usar o MSYS como o próximo prompt começar a piscar.

E são essas perguntas Mover o programa em execução para o plano de fundo com semelhante intenções?

    
por Edward Chan JW 18.05.2013 / 07:36

Tags