Executar um trabalho em segundo plano
$ command &
Quando terminar, o terminal imprime
[n]+ command
ou
[n]- command
Às vezes, é um sinal de mais e outras vezes é um sinal de menos [n]
.
O que significa mais / menos?
Executar um trabalho em segundo plano
$ command &
Quando terminar, o terminal imprime
[n]+ command
ou
[n]- command
Às vezes, é um sinal de mais e outras vezes é um sinal de menos [n]
.
O que significa mais / menos?
Eles devem distinguir entre trabalho atual e trabalho anterior; o último emprego e o segundo último emprego por mais de dois empregos, com +
o último e -
o segundo último.
De man bash
:
O trabalho anterior pode ser referenciado usando
%-
. Se houver apenas um trabalho,%+
e%-
ambos puderem ser usados para se referir a esse trabalho. Na saída referente aos trabalhos (por exemplo, a saída do comando jobs), o trabalho atual é sempre marcado com a+
e o trabalho anterior com a-
.
$ sleep 5 &
[1] 21795
$ sleep 5 &
[2] 21796
$ sleep 5 &
[3] 21797
$ sleep 5 &
[4] 21798
$ jobs
[1] Running sleep 5 &
[2] Running sleep 5 &
[3]- Running sleep 5 &
[4]+ Running sleep 5 &
$
[1] Done sleep 5
[2] Done sleep 5
[3]- Done sleep 5
[4]+ Done sleep 5
Suponho que você esteja se referindo ao verificar trabalhos via $jobs
. No entanto, como você provavelmente já sabe, n
denota o trabalho #. O [n] +
indica o trabalho final que foi chamado.
[n] -
indica o penúltimo trabalho que é chamado.
Por exemplo:
chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]- Running sleep 30 &
[2]+ Running sleep 50 &
É por isso que, neste caso, o nosso sleep 50 &
é o último: [2]+
e sleep 30 &
é o penúltimo:[1]-