Quando você executar um programa a partir de um shell (por exemplo, firefox
), ele será executado "in foreground" . Quando o programa terminar, você terá de volta a possibilidade de executar outro comando.
Outra maneira de executar um comando é "in background" . Se você colocar este símbolo &
após o comando, ele será executado de forma assíncrona (em segundo plano) e você terá a possibilidade de executar outros comandos do mesmo shell / terminal. Trecho de man bash
:
When bash starts a job asynchronously (in the background), it prints a line
that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647.
Quando você inicia o segundo trabalho, ele responde com [2] NewPid
e assim por diante. Com o comando interno jobs
você terá toda a lista.
Quando você executa um comando "em primeiro plano" e deseja suspendê-lo (para não parar definitivamente) você pode pressionar CTRL + Z . O shell irá responder-lhe de forma semelhante (por exemplo)
[1]+ Stopped firefox
Para continuar o trabalho precedente , você pode escrever %1 &
(o mesmo número que você leu no terminal). Você também pode fazer isso com bg %1
. Ele executará o trabalho 1 em segundo plano e retornará o prompt, pronto para aceitar novos comandos.
Você pode achar interessante o artigo Linux: Iniciar o comando em segundo plano