Pmset декілька повторюваних пар розкладу


0

Чи може команда pmset bash використовуватись з більш ніж однією парою дій, що повторюється?

Наприклад:

Прокидання або включення живлення о 13:00, сон у 17:00

і

Прокидайтесь о 18:00, вимкнення о 20:00

Якщо ні, чи є інструмент з відкритим кодом, який може досягти цього? Чи є інший інструмент, який може увімкнути комп'ютер у певний час або це можливо лише у pmset?

EDIT: Я шукаю інструмент, який буде працювати у всіх UNIX-подібних системах в bash.

Відповіді:


0

Ви можете використовувати rtcwakeі shutdownробити це.

rtcwakeце утиліта, щоб призупинити роботу комп'ютера та прокинути його через певний проміжок часу. Основне використання - це

rtcwake -m <mode> -s <seconds>

Наприклад

rtcwake -m mem -s 60

призупинить роботу комп'ютера та пробудити його через 60 секунд. Можна писати сценарії, щоб викликати бажані дії послідовно, наприклад:

#!/bin/sh

# calculate seconds remaining until $1
seconds_until() {
    current_time=`date +%s`
    target_time=`date -d $1 +%s`
    seconds=`expr $target_time - $current_time`
    # wrap seconds
    [ $seconds -lt 0 ] && seconds=`perl -e "print $seconds+86400"`
    echo $seconds
}

# suspend and wake up at 13:00
rtcwake -m mem -s `seconds_until 13:00`

# wait until 17:00, suspend, and wake up at 18:00
sleep `seconds_until 17:00`
rtcwake -m mem -s `seconds_until 18:00`

# wait until 20:00 and shutdown
sleep `seconds_until 20:00`
shutdown -h now

Користувальну привілей потрібно використовувати rtcwake.


Чи працює це у всіх системах, схожих на unix? Див. Редагування.
Блакитний лід
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.