A única coisa que requer absolutamente uma reinicialização é modificar o kernel. Qualquer processo pode ser eliminado se o programa (ou alguma biblioteca ou outro arquivo do qual ele dependa) tiver sido atualizado, mas esse não é o caso do kernel.
Na verdade, é possível corrigir um kernel do Linux diretamente na memória, às vezes. Existem várias ferramentas que funcionam, pelo menos, em alguns casos: Ksplice , Kpatch , kGraft … Cada um deles trabalha em alguns casos simples, mas não todos; eles normalmente trabalham com atualizações de segurança, pois não alteram nenhuma interface interna (especialmente formatos de estrutura de dados), mas não atualizam entre versões de kernel. O Ubuntu LTS suporta correção de kernel usando o livepatch desde 16.04 com o kernel 4.4 com um cliente proprietário.
p>Embora qualquer coisa que não esteja no kernel possa ser atualizada em um sistema em execução, ainda é necessário reiniciar os processos afetados. Em um servidor, isso significa reiniciar os servidores que usam um executável, biblioteca, plug-in, arquivo de dados, configuração ou outra dependência que foi atualizada. Em uma máquina desktop, isso pode significar fazer com que os usuários façam logout e back in (por exemplo, se é um bug no driver gráfico). Determinar exatamente o que precisa ser reiniciado pode ser difícil, pois depende da natureza exata da correção do bug e de como o programa é usado. Em vez de percorrer a enorme quantidade de trabalho necessária para determinar isso com precisão, o Ubuntu é seguro e recomenda uma reinicialização nos pacotes que acham que reiniciar o serviço seria muito complicado. A maneira como ele funciona é que você recebe um aviso para reiniciar quando o script de pós-instalação (pós-atualização, neste caso) de um pacote declara que é necessário reinicializar (veja
/> Como posso saber qual pacote requer a reinicialização do sistema? >