У меня есть длинный скрипт на удаленном компьютере.
Я не хочу завершать сеанс SSH, и мне нужно ввести его в сценарий оболочки.
Как можно предотвратить мой Mac от засыпания из командной строки?
sleep-wake
command-line
kobame
источник
источник
Ответы:
В Mountain Lion вы можете использовать
caffeinate
команду.предотвратит бездействующий сон на 1000 секунд.
источник
Решение этой проблемы - не держать клиента (ваш Mac) в активном состоянии. Использование таких подходов не заслуживает доверия. Что произойдет, если сетевое соединение потеряно? Даже если ваш Mac не спит, сценарий остановится.
использование
nohup
Если ваш долгосрочный скрипт вызывается
eternity.sh
, попробуйте следующее:nohup /path/to/eternity.sh > /path/to/output.out &
Теперь вы можете даже закрыть соединение, и ваш скрипт продолжит работу . В
&
фонах процесс , так что вы можете держать соединение открытым и вводить команды. Просмотрите любой вывод из вашего скрипта через:tail -f /path/to/output.out
Пути в примерах являются необязательными, если сценарий находится на вашем пути, и вы хотите, чтобы вывод сценария записывался
output.out
в текущем каталоге.Я управляю сценариями, которые запускаются по несколько дней. Подобные скрипты должны быть отсоединены от терминала. К счастью,
nohup
обеспечивает легкий для запоминания вызов команды для достижения этой цели - не думайте о зависании .источник
man screen
.Другой вариант - pmset . Используйте команду
pmset noidle
для предотвращения сна, покаpmset
он работает. К сожалению, для этого требуется отдельное окно терминала сpmset
запущенным в нем. Тем не менее, другой вариант,caffeinate
только позволяет установить определенное время . Таким образом, это вопрос выбора, хотите ли вы открыть второй сеанс SSH или иметь дело с ограничением времени.Редактировать: Согласно комментарию бинарного боба , вы можете запустить его в фоновом режиме следующим образом:
pmset noidle &
Чтобы вернуться кpmset
типуfg
.источник
pmset
в фоновом режиме, используяpmset noidle &
текущую командную строку. Введите,fg
чтобыpmset
вернуться, и в этот момент вы можете!pmset noidle
- очень хорошо, когда у вас есть рабочий стол, обслуживающий ноутбук IPython и ноутбук, подключенный удаленно.Объяснение:
-i
- Предотвратить бездействующий сон.-s
- Предотвратите сон системы (полностью, даже если вы закроете крышку). Примечание: он работает только от сети переменного тока./bin/ssh
- Просто продолжайте писать команду, которую хотите выполнить. Использованиеssh
напрямую, а не/bin/ssh
должно также работать.Результаты: Ваша система не будет спать, пока выполняется
ssh
команда.источник
Если вы ищете ядерный вариант, как я:
- Установите или отключите режим сна из-за неактивности системы Mac из командной строки в OS X
источник
Заставка StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) также позволяет держать MAC в активном состоянии в течение 2 часов, 8 часов или навсегда. Этот способ отключения сна MAC, намного проще, чем кофеин.
источник