Se você já digitou um comando e esqueceu de usar o &
, pode colocar um trabalho de primeiro plano em segundo plano digitando ^ Z ( Ctrl - Z ) para suspender o trabalho, seguido por bg
para colocá-lo em segundo plano:
$ sleep 99
^Z
[1]+ Stopped sleep 99
$ bg
[1]+ sleep 99 &
Você pode colocar um job em segundo plano em primeiro plano, para que o shell espere novamente, usando fg
:
$ jobs
[1]+ Running sleep 99
$ fg
sleep 99
Você pode listar os trabalhos do shell atual usando o comando jobs.
$ jobs
[1]+ Running sleep 99
[fonte]
Se você deseja executar um trabalho espacial em primeiro plano / segundo plano, use o ID do processo para movê-lo para primeiro plano / segundo plano. veja este exemplo:
$ sleep 99 # run first job
^Z
[1]+ Stopped sleep 99
$ bg
[1]+ sleep 99 &
$ sleep 1000 # run second job
^Z
[2]+ Stopped sleep 1000
$ jobs # view all jobs
[1]- Running sleep 99 &
[2]+ Stopped sleep 1000
$ bg %2 # move jobs number 2 to run in background
[2]+ sleep 1000 &
$ jobs # view all jobs
[1]- Running sleep 99 &
[2]+ Running sleep 1000 &
Ambos os trabalhos estão sendo executados em segundo plano.
$ fg %2 #switch to second job and run it in foreground
sleep 1000 #sleep 1000 is now running in foreground
Nota: você precisa matar esses trabalhos usando kill %processID
.
exemplo: kill %2
(mate o segundo trabalho com o ID do processo # 2)