Відповіді:
У гірському Леві ви можете використовувати caffeinate
команду.
caffeinate -u -t 1000
завадить простоїти сон протягом 1000 секунд.
Вирішення цієї проблеми полягає в тому, щоб не підтримувати клієнта (вашого Mac). Використання таких підходів не можна використовувати. Що станеться, якщо втрачено з’єднання з мережею? Навіть якщо ваш Mac прокинувся, сценарій зупиниться.
Використовуйте nohup
Якщо ваш тривалий сценарій викликається eternity.sh
, спробуйте наступне:
nohup /path/to/eternity.sh > /path/to/output.out &
Тепер ви навіть можете закрити з'єднання, і ваш сценарій буде продовжувати працювати . У &
фонах процес , так що ви можете тримати з'єднання відкритим і вводити команди. Переглянути будь-який вихід зі свого сценарію за допомогою:
tail -f /path/to/output.out
Шляхи в прикладах необов’язкові, якщо сценарій знаходиться на вашому шляху, і ви хочете, щоб вихід сценарію записувався output.out
в поточний каталог.
Я керую сценаріями, які працюють цілими днями. Такі сценарії повинні бути відірвані від терміналу. На щастя, nohup
передбачено легко запам’ятати виклик команд, щоб досягти цього - не замислюйтеся .
Ще один варіант - pmset . Використовуйте команду pmset noidle
для запобігання сну, поки pmset
він працює. На жаль, для нього потрібне окреме вікно терміналу із pmset
запуском у ньому. Однак інший варіант, caffeinate
дозволяє лише встановити певний час . Тож питання вибирати, чи хочете ви відкрити другий сеанс SSH, чи мати справу з обмеженням часу.
Редагувати: За коментарем binarybob , ви можете запустити його у фоновому режимі так: pmset noidle &
Щоб повернутися до pmset
типу fg
.
pmset
у фоновому режимі, використовуючи pmset noidle &
і, таким чином, продовжувати використовувати поточну командну команду. Введіть, fg
щоб pmset
повернутися, і тоді ви можете Ctrl + C це
!pmset noidle
- дуже приємно, коли у вас на робочому столі працює ноутбук IPython та ноутбук, що віддалено підключаються.
caffeinate -i -s /bin/ssh ...
Пояснення:
-i
- Не допускати простою сну.
-s
- Не допускати сну системи (повністю, навіть якщо закрити кришку). Примітка. Він працює лише під час живлення змінного струму.
/bin/ssh
- Просто продовжуйте писати команду, яку ви хочете виконати. Використання ssh
безпосередньо замість /bin/ssh
також має працювати.
Результати: Ваша система не буде спати, поки ssh
команда працює.
Якщо ви шукаєте ядерний варіант, як я:
sudo systemsetup -setcomputersleep Never
- Встановити або відключити режим сну через бездіяльність системи Mac з командного рядка в OS X
Заставка StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) також має можливість підтримувати MAC неспаним протягом 2 годин, 8 годин або постійно. Цей спосіб відключення сну MAC набагато простіше, ніж кофеїн.