Eu posso desligar o sistema Ubuntu sem fechar todos os programas em execução.Eu acho que isso não deveria acontecer

3
  1. Quando encerro o sistema Ubuntu, ele não me restringe, mas permite que eu desligue meu sistema sem fechar todos os programas.
  2. Por que não me restringe fechar todos os programas?
por Manish Kumar 18.11.2014 / 07:34

3 respostas

3

O Ubuntu enviará o sinal SIGTERM para permitir que os aplicativos em execução encerrem e encerrem seus processos abertos. Somente se um aplicativo não ouvir o SIGTERM, ele poderá ser eliminado.

No caso de um aplicativo em execução precisar da interação do usuário (teste isso com um documento não salvo aberto no LibreOffice), o desligamento será interrompido até que o usuário interaja.

Em um sistema multiusuário, um desligamento iniciado pelo usuário será interrompido enquanto outros usuários estiverem conectados. Precisamos de privilégios de administrador para poder desligar. Em seguida, o sinal SIGTERM será enviado para todos os aplicativos abertos em todas as sessões em execução.

Supõe-se que, após um tempo limite ( 90 s ), o usuário ou o aplicações não reagiram no sinal SIGTERM SIGKILL deve ser emitido, que só então deve levar à perda de dados não salvos. O tempo limite padrão de KILL para SIGTERM emitido por iniciantes é muito menor ( 5 s ).

  

O teste na versão atual mostrou, no entanto, que sempre podemos desligar sem sermos solicitados a salvar nosso outro trabalho inacabado do usuário conectado. Como isso de fato pode levar à perda de dados, considero isso um erro:

por Takkat 18.11.2014 / 08:37
1

De acordo com minha experiência com o Ubuntu e outras distribuições Linux. Quando você desliga seu computador, o kernel envia automaticamente uma notificação de fechamento para todos os programas abertos. Em seguida, ele é encerrado depois de matar todos os processos, incluindo redes. O Windows tem um recurso que funciona de maneira um pouco diferente, se processos abertos exigirem que um arquivo seja salvo, o processo de desligamento é pausado por algum tempo até que a interação do usuário seja observada.

    
por haey3 18.11.2014 / 08:26
-1
  

o desligamento faz o seu trabalho sinalizando o processo de inicialização, pedindo que ele   mude o runlevel. Runlevel 0 é usado para parar o sistema.

Portanto, quando o nível de execução for alterado para 0, ou seja, init 0. init get killed. Na verdade, o init é o processo pai de todos os processos em execução no sistema. se o processo pai morreu, então todo o processo filho se tornará zumbido, ou seja, não é um processo real nem considerável.

ou seja, todos estão fechados.

Leia a sua Man-Page , tudo o que você precisa fazer é alguma pesquisa sobre processo de desligamento.

    
por Ten-Coin 18.11.2014 / 08:37

Tags