Je recherche une application d'arrêt automatique qui arrêtera de force l'ordinateur à une heure déterminée.
La partie la plus importante de cela est que l'arrêt ne doit pas être annulable (sauf si le processus est extrêmement onéreux).
Je recherche une application d'arrêt automatique qui arrêtera de force l'ordinateur à une heure déterminée.
La partie la plus importante de cela est que l'arrêt ne doit pas être annulable (sauf si le processus est extrêmement onéreux).
Réponses:
Ok, donc suite à ma réponse précédente, je peux vous expliquer comment obtenir cron (un service de planification UNIX intégré) pour exécuter une commande d'arrêt planifié pour vous.
Il s'exécutera en tant que root et sera forcé.
sudo crontab -e
Vous devrez entrer votre mot de passe de connexion, puis appuyez sur Entrée.
Vous serez maintenant dans un éditeur de texte (vim). Saisissez soigneusement les touches suivantes.
Supposons que vous souhaitiez que la machine s'arrête à 2 heures du matin tous les jours, nous saisissons maintenant:
* 2 * * * /sbin/shutdown -h now
Si vous souhaitez que la machine s'arrête tous les jours à 2h30, vous devez entrer:
30 2 * * * /sbin/shutdown -h now
Vous devriez maintenant être renvoyé à la ligne de commande où vous avez commencé.
Vous avez terminé!
sudo
y mettre ? Je sais que cela provoquera probablement un blocage, mais je suis sûr que vous devez être root pour fonctionner shutdown
.
shutdown
est dans /sbin
lequel n'est probablement pas dans le $ PATH par défaut de cron. Pour résoudre ce problème, sudo crontab -e
recommencez, tapez dd
pour supprimer la ligne (en supposant que le fichier ressemble à celui que vous avez lié ci-dessus) et entrez à nouveau la ligne sous 30 22 * * * /sbin/shutdown -h now
.
Il peut cependant être annulé:
Arrêtez-vous à yymmddhhmm
:
shutdown -h 1109211555
Arrêt en 4 minutes:
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>
Si le plist appartenait à un utilisateur normal, essayer de le charger entraînerait l'erreur launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
L'agent peut être chargé en se déconnectant et se reconnectant, ou avec:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Cela effectuerait un arrêt normal non forcé:
osascript -e 'tell app "System Events" to shut down'
Cela peut être planifié dans Préférences Système> Économiseur d'énergie> Planification . Je ne suis pas certain que cela entraînera un arrêt forcé, vous devrez l'essayer. Mais c'est une option intégrée pour automatiser la mise hors / sous tension programmée.
Vous pouvez également arrêter de force le système avec une commande de terminal (nécessite root):
arrêt -h maintenant
Vous pouvez placer cette commande dans une tâche planifiée launchd ou cron . Consultez cet article pour plus d'informations sur ces deux services.
Vous pouvez également vouloir vérifier une application comme le bien nommé iWannaSleep (vous ne savez pas si cela force l' arrêt).
Vous pouvez utiliser shutdown
directement pour planifier un arrêt à tout moment dans le futur:
shutdown -h time
où heure spécifie une heure future dans l'un des deux formats: + nombre ou yymmddhhmm, où l'année, le mois et le jour peuvent être définis par défaut sur les valeurs système actuelles. La première forme fait descendre le système en nombre de minutes et la seconde à l'heure absolue spécifiée.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# voir note ci-dessous
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
Tel qu'écrit, le plist entraînera l'arrêt de l'ordinateur à 23h (heure locale) tous les jours.
Si vous souhaitez modifier l'heure, modifiez le script dans n'importe quel éditeur de texte. Modifiez les touches Heure et Minute, extraites ici:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(notez l'utilisation du temps de 24 heures)
Si vous souhaitez arrêter votre Mac en toute sécurité à une heure planifiée, pensez à Power Manager ; il s'arrête bien sans laisser les applications bloquer le processus:
Il est très difficile pour une application ou un processus non autorisé de bloquer ces étapes.
shutdown
L'utilisation shutdown
forcera la fermeture de tous les processus sur votre Mac, y compris les applications graphiques. Pour de nombreuses applications, il s'agit d'un comportement agressif et ne donne pas à l'application beaucoup de possibilités d'enregistrer l'état ou les données.
Power Manager inclut une tâche Assistant Planification pour arrêter un programme .
Divulgation: je travaille avec l'entreprise qui fabrique Power Manager.
Je jetterais un œil à cette note technique d'Apple