Como executar programas de um terminal linux sem bloquear o terminal?

29

Quando inicio um programa a partir de um terminal, não posso usar essa instância de terminal novamente até fechar o programa.

Existe uma maneira de executar um programa / aplicativo de um terminal sem bloquear o terminal até que o programa termine?

    
por ueaiox 19.06.2010 / 18:52

3 respostas

57

Você está procurando controle de trabalho que é suportado pela maioria dos shells. Veja este artigo para uma introdução. Em algum momento, você também pode querer ler a documentação oficial para o bash, que é o shell padrão em Ubuntu.

Resumindo: Para iniciar um trabalho automaticamente em segundo plano, coloque um & após a chamada do programa

$ program &

Você também pode parar programas com CTRL z e colocá-los em segundo plano posteriormente com bg

$ program
^Z
$ bg

Para que eles sejam executados novamente em primeiro plano, use fg .

    
por 19.06.2010 / 19:05
1

Se o controle do trabalho não for exatamente o que você deseja, procure na tela .

A tela controla vários terminais virtuais para que você possa executar vários programas sem que eles interajam entre si. Por exemplo, você pode executar o mocp (um tocador de música), o aptitude (um gerenciador de pacotes) eo vim (um editor de texto) simultaneamente, embora todos sejam programas interativos que tratam o terminal como se tivessem acesso exclusivo.

Isso facilita a mudança de uma tarefa para outra, como a criação de um novo terminal na tela para ler uma página de manual - sem perder seu lugar em outro lugar - indo e voltando, etc.

    
por 19.06.2010 / 22:14
1

No Ubuntu 16.10 não consigo fazer com que a coisa ctrl + Z mencionada em outra resposta funcione, mas

program &
^C

Funciona para mim, em outras palavras, ctrl + c depois que você inicia o programa com um e comercial final.

    
por 14.12.2016 / 16:40