Por que um desligamento é realizado mais rapidamente quando iniciado a partir da linha de comando?

2

Sempre que eu uso um comando como

shutdown -s -f -t 00

Eu posso ver que o desligamento ocorre mais rápido do que quando eu vou e clico no botão de desligamento na GUI do Windows.

Este cenário pode ser comparado com o meu outro sistema operacional, ou seja, o Ubuntu também. No terminal ubuntu, se eu digitar o seguinte comando para o desligamento, o processo ocorre muito mais rápido e nunca falhou ao meu conhecimento. Mas se eu usar o botão de desligamento na GUI, o sistema às vezes trava e seu processo demora mais para ser executado.

sudo init 0

Eu posso sentir que os terminais e o prompt de comando funcionam diretamente no kernel. Mas estou curioso para saber se há alguma outra coisa técnica acontecendo por trás disso.

    
por Arun 26.02.2012 / 15:36

2 respostas

2

Em primeiro lugar , os comandos que você está usando não são os mesmos comandos usados quando você pressiona o botão GUI, então há alguma velocidade em usar esses comandos sozinhos .

Em segundo lugar , a GUI tem prompts / efeitos / etc específicos da GUI que devem ser executados antes que possam chegar ao comando. Isso também adicionará tempo ao efeito geral de clicar no botão na GUI.

Esta não é uma má pergunta, não é tão simples quanto diz , mas acho que o principal ganho de desempenho está nos comandos reais que você está usando (por exemplo, tempo de espera limitado, forçando o fechamento) . A GUI terá um tempo de espera padrão e solicitará o encerramento da força, o aviso cai na categoria 2 enquanto o forçando entra na categoria 1 .

    
por 27.02.2012 / 13:27
1

No Windows, quando você usa o desligamento da GUI, o sistema aguarda o fechamento de todos os programas em execução, em até 20 segundos. Talvez quando você usa o comando, o Windows não espere por ele. (Talvez o mesmo no Linux?)

    
por 26.02.2012 / 15:59