Вам нужно, чтобы одна передача завершилась, пока вы отходите, и сон Mac — очевидный подозреваемый. caffeinate может удерживать энергетическое утверждение ровно на это окно, и это более узкий инструмент, чем кажется на первый взгляд. Он предотвращает сон по бездействию, пока выполняется команда; он не поддерживает сеанс VPN и не спасёт передачу от учётных данных, срок которых истекает в полночь. Понимание того, где заканчивается его действие, и не даёт свалить следующую ошибку на неверный уровень.

Что на самом деле удерживает утверждение

Утилита просит систему управления питанием держать требование открытым, пока живёт обёрнутый процесс. Когда процесс завершается, требование уходит вместе с ним. Именно этот срок жизни и полезен: вы не переключаете общесистемную настройку и не надеетесь вспомнить, что её нужно вернуть.

Флаги выбирают разные требования. -i предотвращает сон системы по бездействию. -d нацелен на сон дисплея, а -s — на сон системы в тех случаях, когда система это разрешает. Ни один из них не является обещанием «всегда бодрствовать», и ни один не разблокирует экран и не побеждает закрытую крышку. Выберите тот, который соответствует замеченному вами перерыву.

Эта разница важна, когда кто-то сообщает, что Mac «всё равно уснул». Вопрос в том, какое требование было запрошено, на сколько и какое событие вызвало сон. Управление питанием учитывает несколько входных данных, и утверждение покрывает лишь одно из них.

Оберните задачу, а не украшайте сеанс

caffeinate -i /usr/bin/ssh [email protected]

Это удерживает требование о сне по бездействию столько, сколько работает клиент SSH, и в этом весь смысл обёртки вместо отправки в фон. Профиль VPN не затрагивается, keepalive не отправляется, и в конфигурации туннеля ничего не меняется.

Для ограниченного окна честной формой является флаг длительности:

caffeinate -i -t 1800

Остановите этот вызов его обычным прерыванием, когда задача завершится раньше. Не оставляйте стопку обёрток в фоне и не убирайте их позже, убивая каждый процесс с тем же именем; так вы уничтожите то, что хотели сохранить.

Сон — одна из причин, а не причина

Предотвращение сна по бездействию убирает одно прерывание из списка. Оно не отменяет намеренную команду сна, закрытую крышку, потерю питания или политику, заданную администратором. Это отдельные решения, и ожидание, что пользовательское утверждение их победит, — как раз то, из-за чего люди делают вывод, что инструмент не работает.

Сон дисплея и блокировка экрана тоже отдельны. Mac может бодрствовать с выключенным экраном и может заблокироваться, пока задача продолжается. Если требуется подсвеченный экран, это другой флаг; если требуется разблокированный экран, ни один флаг этого не даёт. Скажите, какой из этих трёх результатов вам действительно нужен, прежде чем выбирать переключатель, потому что это не одно поведение под разными названиями.

У сеанса VPN свои часы

Туннель IPsec или TLS пересогласовывает ключи по расписанию, согласованному конечными точками, а сервер может требовать максимальный срок жизни сеанса независимо от активности клиента. Учётные данные истекают. Канал доступа может отвалиться по причинам, не связанным с бодрствованием ноутбука. Ничто из этого не заботится об энергетическом утверждении.

Поэтому когда полезный трафик сбоит, а Mac явно бодрствует, увеличение длительности — не объяснение и не ремонт. Прочитайте сбой: ошибка пересогласования ключей, истечение аутентификации и потеря несущей выглядят в журнале туннеля по-разному, и у каждого своё исправление.

Перенесите устойчивость на удалённый хост

Если потеря локального соединения стоила бы часов работы, ответ находится на другой стороне. Мультиплексор терминала сохраняет сеанс на сервере, когда SSH умирает, а система заданий сохраняет работу, когда сеанс заканчивается. Ни то, ни другое не зависит от питания ноутбука.

Это другая граница отказа, и именно она важна для долгих заданий. Совмещайте оба только тогда, когда верны оба условия: машина должна бодрствовать для локальной части работы, а удалённая часть должна пережить разрыв. Затем проверьте, подключившись заново из второго терминала и убедившись, что задание всё ещё выполняется.

Запишите, какое утверждение вы использовали и когда оно заканчивается. Краткосрочный эксплуатационный выбор — это нормально; необъяснённый постоянный через полгода превращается в обращение в поддержку, когда никто уже не помнит, почему Mac никогда не спит.

Похожие статьи