Quando você usa o &
no final de um comando no bash, ele executa o comando em segundo plano. O [1]+ Exit 1
significa que o trabalho 1 saiu com status 1. O número entre o []
é o número do trabalho e o número após Exit
é o status de saída. Se nenhum status de saída for exibido, significa que o comando saiu com status 0
.
O motivo pelo qual você não vê isso até executar outro comando é porque, por padrão, o status de um comando concluído em segundo plano não é mostrado até que o prompt seja atualizado. Isso significa que depois que outro comando sair, você simplesmente pressiona <ENTER>
em um prompt vazio.
Editado:
Você também não precisa usar o nohup
. O Bash só processará o HUP quando o próprio shell receber um HUP. Isso não acontece se você sair corretamente (via exit
ou CTRL + D).
No entanto, você também pode usar o disown
incorporado para que tarefas específicas não recebam um HUP.
Por fim, você também pode definir um manipulador SIGHUP para descartar todas as tarefas quando o shell obtiver um HUP fazendo function sighup { disown -a; exit 0; }; trap sighup HUP
.