Se você estiver usando bash
, você pode definir a variável IGNOREEOF
shell para um número que especifique quantos caracteres EOF consecutivos o shell deve ignorar antes de tratar o EOF como um sinal de saída. Verifique a página do manual para detalhes.
No entanto, isso é acionado antes dos disparadores de mensagens "há trabalhos interrompidos", então você ainda tem o mesmo problema - você recebe essa mensagem e mais um ^ D sai do shell.
Uma alternativa é colocar o número de trabalhos do shell em seu prompt se esse número for maior que zero.
Por exemplo, um trecho da minha .bashrc:
PROMPT_COMMAND=prompt_command
prompt_command() {
job_count=$(jobs | wc -l)
if [ $job_count -gt 0 ] ; then
prompt_job="[$job_count] "
else
prompt_job=""
fi
}
PS1="...\${prompt_job}..."
Depois disso, o shell pode parecer com ...[1] ...
Isso coloca uma contagem de tarefas em seu prompt, se for maior que zero. Isso facilita a visualização quando você tem trabalhos incompletos e funciona bem (para mim) como um lembrete visual de que as tarefas ainda estão em execução.