Na página de manual :
The shell learns immediately whenever a job changes state. Normally,
bash
waits until it is about to print a prompt before reporting changes in a job's status so as to not interrupt any other output. If the-b
option to theset
builtin command is enabled,bash
reports such changes immediately. Any trap onSIGCHLD
is executed for each child that exits.
Isso explica por que você precisa pressionar Enter antes de ver a notificação. Você pode alterar isso executando set -b
. Não tem muito a ver com o terminal , o controle de tarefas é gerenciado pelo shell. Quando um processo em segundo plano termina, o pai recebe um SIGCHLD
signal ; essa é a notificação.