Qué significa `+` y `-` en la salida de trabajos en segundo plano

Qué significa `+` y `-` en la salida de trabajos en segundo plano

Cuando ejecuto un montón de trabajos en segundo plano con

for s in {1,2,3}; do command_$s &; done;

Puedo verlos todos con el jobscomando.

$ jobs
[2]    running    command_1
[3]  - running    command_2
[4]  + running    command_3

Sé que la primera columna es el ID (puedo, por ejemplo, kill -9 %2matar command_)

Pero +, ¿qué significa -y la falta de cualquiera de esos medios? Funcionando man jobsy jobs -hno funciona.

Respuesta1

En elmanual de información para bash, hay una descripción en el capítulo 7.1, Conceptos básicos de control de trabajos:

El número de trabajo n puede denominarse '%n'. Los símbolos '%%' y '%+' se refieren a la noción del shell del trabajo actual, que es el último trabajo detenido mientras estaba en primer plano o iniciado en segundo plano. Un único '%' (sin ninguna especificación de trabajo adjunta) también se refiere al trabajo actual. Se puede hacer referencia al trabajo anterior utilizando '%-'. Si solo hay un trabajo, '%+' y '%-' pueden usarse para referirse a ese trabajo.

En la salida perteneciente a trabajos (por ejemplo, la salida del jobscomando), el trabajo actual siempre se marca con un '+' y el trabajo anterior con un '-'.

información relacionada