você está aqui: Home  → Arquivo de Mensagens

Desligando o computador ao terminar o download

Colaboração: Murilo Fujita

Data de Publicação: 09 de dezembro de 2012

Gostaria de apresentar um script para o caso de você ter que sair e deseje desligar o computador assim que o download acabar. Os procedimentos são voltados para o Mozilla Firefox.

Antes de executar o script é preciso inicializar as variáves parte e inteiro. A cada 2 segundos a variável parte exibe o tamanho do arquivo em kB, uma forma de acompanhar se está progredindo.

A sacada está no momento que o download termina e o arquivo associado à variável inteiro deixa de ser vazio. Assim, a condição **teste -s "inteiro"** for verdeira, o shutdown é executado.

  #!/bin/bash
  
  parte="filme1.avi.part"
  inteiro="filme1.avi"
  
  until test -s "$inteiro"
  do
   status=`du "$parte" | awk '{printf "%2s\n",$1}'`
   echo Download em andamento: $status kB
   sleep 2
   continue
  done
  
  test -s "$inteiro"
   /sbin/shutdown -h now

Caso prefira outras opções em vez de desligar, use pm-hibernate ou pm-suspend. Deve ficar claro que é preciso executar como root.

Ainda não testei, mas adaptar para o google-chrome deve ser simples bastando que a variável parte tenha o nome de arquivo com a extensão .crdownload.

Espero que possa ser útil para você.

Murilo Fujita estuda GNU/Linux desde 2000 e é aluno do curso de Análise e Desenvolvimento de Sistemas da FATEC Americana. Mantém um blog sobre programação no endereço http://codigosfontesdofujita.blogspot.com.br


Veja a relação completa dos artigos de Murilo Fujita

 

 

Opinião dos Leitores

Murilo Fujita
10 Dez 2012, 14:53
Robison WR Santos, agradeço seu comentário.
Testarei se é necessária a condição test -s "$inteiro". Analisando a lógica, ao sair do loop já é suficiente para executar o shutdown.
Obrigado e abraço!
Tafarel Carvalho
10 Dez 2012, 12:35
eu faço assim:
verifico quanto tempo +- vai demorar para baixar e deixo um terminal com # shutdown -h hora:minuto
Robison WR Santos
10 Dez 2012, 09:27
Dica muito boa, mas é realmente necessário fazer o check ' test -s "$inteiro"' depois que o until-do loop terminou?
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script