> You're seeing the status from the creation of the background job (which is > always 0), not from its completion.
Ah, I see. Anyway, the behavior is not coherent with the manual page: in this case, $? has the status from the creation of the background job, that's not "the status of the most recently executed foreground pipeline". Regards