Я шукаю додаток для автоматичного відключення, яке примусово вимкне комп'ютер у призначений час.
Найважливіша частина цього полягає в тому, що відключення не слід скасовувати (якщо тільки процес не є надзвичайно обтяжливим).
Я шукаю додаток для автоматичного відключення, яке примусово вимкне комп'ютер у призначений час.
Найважливіша частина цього полягає в тому, що відключення не слід скасовувати (якщо тільки процес не є надзвичайно обтяжливим).
Відповіді:
Гаразд, тому до моєї попередньої відповіді я можу провести вас через отримання cron (вбудована послуга розкладу UNIX), щоб запустити планову команду відключення для вас.
Він запуститься як root і буде вимушений.
sudo crontab -e
Вам потрібно буде ввести пароль для входу, а потім натиснути клавішу Enter.
Тепер ви будете в текстовому редакторі (vim). Уважно введіть наступні натискання клавіш.
Скажімо, ви хочете, щоб машина вимикалася щодня о 2 годині ночі, ми зараз входимо:
* 2 * * * /sbin/shutdown -h now
Якщо ви хочете, щоб машина вимикалася о 2:30 кожного дня, ви введете:
30 2 * * * /sbin/shutdown -h now
Тепер вас слід повернути до командного рядка, з якого ви почали.
Ви закінчили!
sudo
? Я знаю, що це, ймовірно, призведе до зависання, але я впевнений, що для запуску потрібно мати корінь shutdown
.
shutdown
є, у /sbin
якому, ймовірно, немає за замовчуванням $ PATH cron. Щоб виправити, зробіть sudo crontab -e
це ще раз, введіть dd
для видалення рядка (припустимо, що файл виглядає як той, який ви зв'язали вище) та введіть рядок як 30 22 * * * /sbin/shutdown -h now
.
Його можна скасувати, хоча:
Зупинка yymmddhhmm
:
shutdown -h 1109211555
Зупинка за 4 хвилини:
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>
Якщо пліст належить звичайному користувачеві, спроба завантажити його призведе до помилки launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
Агент можна завантажувати, виходячи з системи та повертаючись назад, або за допомогою:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Це призведе до звичайного не примусового вимкнення:
osascript -e 'tell app "System Events" to shut down'
Це можна запланувати в Налаштуваннях системи> Енергозбереження> Розклад . Я не впевнений, що це ініціює вимушене вимкнення, вам доведеться його спробувати. Але це вбудований варіант для автоматизації запланованого відключення / ввімкнення живлення.
Ви також можете примусово відключити систему за допомогою термінальної команди (вимагає root):
відключення -h зараз
Ви можете помістити цю команду в запуск програм або хрон заплановане завдання. Перегляньте цю статтю, щоб дізнатися більше про ці дві послуги.
Ви також можете перевірити таку програму, як влучно названий iWannaSleep (не впевнений, чи це примушує відключення).
Ви можете shutdown
безпосередньо використовувати для планування відключення в будь-який час у майбутньому:
shutdown -h time
де час визначає майбутній час в одному з двох форматів: + число, або yymmddhhmm, де рік, місяць і день можуть бути дефолтом до поточних системних значень. Перша форма знижує систему за кількістю хвилин, а друга - за вказаний абсолютний час.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# див. примітку нижче
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
Як написано, список може спричинити вимикання комп'ютера о 11 годині (за місцевим часом) щодня.
Якщо ви хочете змінити час, відредагуйте сценарій у будь-якому текстовому редакторі. Змініть клавіші Година і Хвилина, наведені тут:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(зверніть увагу на використання цілодобового часу)
Якщо ви хочете безпечно вимкнути свій Mac в запланований час, врахуйте Power Manager ; він прекрасно вимикається, не дозволяючи програмам блокувати процес:
Для шахрайської програми або процесу дуже важко заблокувати ці кроки.
shutdown
Використання shutdown
змусить вийти з усіх процесів на вашому Mac, включаючи графічні програми. Для багатьох програм це агресивна поведінка і не дає додатку багато можливостей для збереження стану або даних.
Power Manager включає завдання Assistant Schedule Assistant для вимкнення розкладу .
Розкриття інформації: Я працюю з компанією, яка робить Power Manager.
Я поглянув би на цю технічну записку від Apple