Відповіді:
У гірському Леві ви можете використовувати 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 набагато простіше, ніж кофеїн.