Quando você sai de um shell de login do bash interativo, ele envia um SIGHUP para todos os filhos, a menos que a opção do shell huponexit
esteja desativada.
Quando a maioria dos processos de userland receber um SIGHUP, eles sairão.
Quando você disown -h
, você está marcando o processo para evitar que o bash envie um SIGHUP ao sair, independentemente das opções do shell. Você também pode ter prefixado o comando com nohup
para reproduzir esse mesmo comportamento.
Em relação ao STAT D:
An uninterruptible sleep state is a sleep state that cannot handle a signal (such as waiting for disk or network IO (input/output)).