O que aqueles +/- significam se o trabalho do linux no background terminar (iniciado com &)

33

Se eu iniciar um processo com um e comercial ( & ) no final, ele será bifurcado em segundo plano. Quando termina, recebo uma saída semelhante a

[1]+  Fertig   my_script

Eu tenho uma distribuição localizada, mas isso não importa.

O que eu vejo é o ID do trabalho entre colchetes, seguido por um sinal de adição ( + ).

Se eu tiver vários trabalhos iniciados em paralelo, obtenho

[1]-  Fertig   my_script
[2]+  Fertig   my_script

Agora eu tenho um menos ( - ) para o primeiro emprego e um adicional ( + ) para o segundo.

Gostaria de saber o que significam esses + / - .

Não foi possível encontrar nenhuma resposta usando os mecanismos de pesquisa da Internet.

    
por Phil 01.03.2013 / 10:20

1 resposta

46

De man bash :

In output pertaining to jobs (e.g., the output of the jobs command), the current job is always flagged with a +, and the previous job with a -.

Ou seja, o trabalho sinalizado com + é aquele que foi enviado para o segundo plano por último.

É também aquele que será colocado em primeiro plano quando fg for usado sem argumentos:

$ /tmp/script &
[1] 9871
$ /tmp/script2 &
[2] 9876
$ /tmp/script3 &
[3] 9881
$ /tmp/script4 &
[4] 9886
$ jobs
[1]   Running                 /tmp/script &
[2]   Running                 /tmp/script2 &
[3]-  Running                 /tmp/script3 &
[4]+  Running                 /tmp/script4 &
$ fg
/tmp/script4

O trabalho marcado com um - foi enviado para segundo plano por último. Outros trabalhos em segundo plano não estão sinalizados.

    
por 01.03.2013 / 10:28

Tags