O Atualizador de software é exibido update-manager
e mostra as atualizações de segurança do Firefox, por exemplo. Naturalmente, clicarei em "Instalar agora" para continuar.
No entanto, o que acontece se eu ainda tiver o Firefox em execução quando fizer isso? Ainda atualizará o Firefox? A atualização será ignorada e aparecerá da próxima vez, novamente? A atualização forçará o Firefox a fechar e talvez travar? Ele atualizará apenas parcialmente o software e possivelmente interromperá a instalação do Firefox?
Respostas:
Você deve estar pensando no Windows. O Unix fez certo e, mais tarde, o Windows apareceu e desenvolveu maneiras erradas de fazer as coisas.
No Windows, a substituição de um arquivo em uso por um processo em execução pode afetar gravemente esse processo. O processo fará referência a locais nesse arquivo e obterá informações incorretas, geralmente com resultados catastróficos. É por isso que uma atualização do Windows geralmente requer uma reinicialização para garantir que todos os processos estejam usando versões corretas das bibliotecas etc.
Com o Unix, depois que um arquivo é aberto por um processo, esse mesmo arquivo estará sempre disponível para o processo, mesmo que o arquivo original seja removido do sistema de arquivos .
Após uma atualização, o sistema de arquivos conterá uma versão diferente do arquivo e todo o processo iniciado após a atualização usará esse novo arquivo. Mas, diferentemente do Windows, todos os processos antigos do Unix continuarão usando os arquivos originais com os quais começaram. Mesmo que não sejam mais acessíveis pelo sistema de arquivos, esses arquivos persistirão desde que qualquer processo os esteja usando. Eventualmente, quando nenhum processo estiver usando os arquivos, a versão antiga dos arquivos será finalmente excluída.
Obviamente, você pode decidir reiniciar o Firefox (ou outros processos) se quiser obter os benefícios da atualização imediatamente. A escolha é sua.
fonte
Normalmente, atualizar um programa enquanto ele já está aberto não é problema - como os outros respondentes explicaram, um processo em execução pode continuar em execução, mesmo que seu executável seja excluído.
No entanto, devido ao modelo de processos múltiplos do Firefox, você pode receber uma solicitação para reiniciá-lo após uma atualização de qualquer maneira. Isso ocorre porque o Firefox gera novos processos para isolar sites diferentes; portanto, se ele gerar um novo processo após a atualização, mas antes de reiniciar o Firefox, o novo processo será uma versão mais recente do Firefox que o restante do navegador. Isso pode causar vários problemas; portanto, o Firefox pode solicitar que você o reinicie antes de continuar.
Aliás, o Chrome evita isso usando um processo "zigoto" que fica parado sem fazer nada; quando o navegador precisa gerar um novo processo, em vez de solicitar ao SO que execute o navegador executável novamente (o que executaria o binário possivelmente atualizado), ele solicita que o processo zigoto se duplique, e uma das cópias se torna um renderizador normal processo.
fonte