Estou procurando um aplicativo de desligamento automático que desligue o computador com força no horário marcado.
A parte mais importante disso é que o desligamento não deve ser cancelável (a menos que o processo seja extremamente oneroso).
Estou procurando um aplicativo de desligamento automático que desligue o computador com força no horário marcado.
A parte mais importante disso é que o desligamento não deve ser cancelável (a menos que o processo seja extremamente oneroso).
Respostas:
Ok, então, além da minha resposta anterior, posso orientá-lo a fazer com que o cron (um serviço de agendamento do UNIX embutido) execute um comando de desligamento agendado para você.
Ele será executado como root e será forçado.
sudo crontab -e
Você precisará digitar sua senha de login e pressionar enter.
Agora você estará em um editor de texto (vim). Insira cuidadosamente as seguintes teclas.
Digamos que você queira que a máquina seja desligada às 2h todos os dias, agora entraremos:
* 2 * * * /sbin/shutdown -h now
Se você deseja que a máquina seja desligada às 2h30 todos os dias, digite:
30 2 * * * /sbin/shutdown -h now
Agora você deve retornar à linha de comando em que iniciou.
Você Terminou!
sudo
lá? Eu sei que isso provavelmente fará com que ele desligue, mas eu tenho certeza que você precisa ser root para executar shutdown
.
shutdown
é o /sbin
que provavelmente não está no $ PATH padrão do cron. Para corrigir, faça o sudo crontab -e
procedimento novamente, digite dd
para excluir a linha (assumindo que o arquivo se parece com o que você vinculou acima) e reinsira a linha como 30 22 * * * /sbin/shutdown -h now
.
No entanto, pode ser cancelado:
Parar em yymmddhhmm
:
shutdown -h 1109211555
Pare em 4 minutos:
shutdown -h +4
/Library/LaunchAgents/me.lri.forceshutdown.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>me.lri.forceshutdown</string>
<key>ProgramArguments</key>
<array>
<string>shutdown</string>
<string>-h</string>
<string>now</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
Se o plist fosse de propriedade de um usuário normal, tentar carregá-lo resultaria no erro launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
O agente pode ser carregado efetuando logout e logon novamente ou com:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Isso executaria um desligamento não forçado normal:
osascript -e 'tell app "System Events" to shut down'
Isso pode ser agendado em Preferências do sistema> Economia de energia> Agenda . Não tenho certeza de que isso iniciará um desligamento forçado, você precisará experimentá-lo. Mas essa é uma opção integrada para automatizar o desligamento / ativação programado.
Você também pode desligar o sistema à força com um comando terminal (requer root):
shutdown -h now
Você pode colocar esse comando em uma tarefa agendada launchd ou cron . Confira este artigo para obter mais informações sobre esses dois serviços.
Você também pode verificar um aplicativo como o apropriadamente chamado iWannaSleep (não tenho certeza se isso força o desligamento).
Você pode usar shutdown
diretamente para agendar um desligamento a qualquer momento no futuro:
shutdown -h time
onde a hora especifica uma hora futura em um dos dois formatos: + number ou yymmddhhmm, em que o ano, mês e dia podem ter como padrão os valores atuais do sistema. O primeiro formulário reduz o sistema em número de minutos e o segundo no tempo absoluto especificado.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# ver nota abaixo
sudo mv com.tjluoma.forceshutdown.plist /Library/LaunchAgents
sudo chown root:wheel /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
sudo launchctl load /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
Conforme escrito, o plist fará com que o computador seja desligado às 23h (horário local) todos os dias.
Se você quiser alterar a hora, edite o script em qualquer editor de texto. Altere as teclas Hora e Minuto, extraídas aqui:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(observe o uso do tempo de 24 horas)
Se você deseja desligar o Mac com segurança em um horário programado, considere o Power Manager ; ele é desligado sem deixar que os aplicativos bloqueiem o processo:
É muito difícil para um aplicativo ou processo não autorizado bloquear essas etapas.
shutdown
O uso shutdown
forçará o encerramento de todos os processos no seu Mac, incluindo aplicativos gráficos. Para muitos aplicativos, esse é um comportamento agressivo e não oferece ao aplicativo muitas oportunidades para salvar estado ou dados.
O Power Manager inclui uma tarefa do Assistente de Agendamento para desligar um agendamento .
Divulgação: trabalho com a empresa que cria o Power Manager.
Eu daria uma olhada nesta nota técnica da Apple