Odpowiedzi:
W Mountain Lion możesz użyć caffeinate
polecenia.
caffeinate -u -t 1000
zapobiegnie bezczynności snu przez 1000 sekund.
Rozwiązaniem tego problemu nie jest utrzymywanie gotowości klienta (komputera Mac). Stosowanie takich podejść jest niezależne. Co się stanie, jeśli połączenie sieciowe zostanie utracone? Nawet jeśli komputer Mac nie śpi, skrypt się zatrzyma.
Posługiwać się nohup
Jeśli wywoływany jest długo działający skrypt eternity.sh
, spróbuj wykonać następujące czynności:
nohup /path/to/eternity.sh > /path/to/output.out &
Teraz możesz nawet zamknąć połączenie, a Twój skrypt będzie działał . Do &
tła proces, dzięki czemu można zachować otwarte połączenie i wprowadzać polecenia. Wyświetl dowolne dane wyjściowe skryptu za pomocą:
tail -f /path/to/output.out
Ścieżki w przykładach są opcjonalne, jeśli skrypt znajduje się na Twojej ścieżce i chcesz, aby wyniki skryptu były zapisywane output.out
w bieżącym katalogu.
Zarządzam skryptami, które działają przez kilka dni. Takie skrypty należy odłączyć od terminala. Na szczęście nohup
zapewnia łatwe do zapamiętania wywołanie polecenia w celu osiągnięcia tego - nie ma potrzeby zawieszania się .
Inną opcją jest pmset . Użyj polecenia, pmset noidle
aby zapobiec uśpieniu tak długo, jak pmset
działa. Niestety wymaga osobnego okna terminala z pmset
działającym w nim. Jednak druga opcja, caffeinate
pozwala tylko ustawić określony czas . Jest więc kwestia wyboru, czy chcesz otworzyć drugą sesję SSH, czy poradzić sobie z ograniczeniem czasu.
Edycja: Zgodnie z komentarzem binarybob , możesz uruchomić go w tle w następujący sposób: pmset noidle &
Aby wrócić do pmset
pisania fg
.
pmset
w tle, pmset noidle &
a zatem kontynuować korzystanie z bieżącego wiersza polecenia. Wpisz, fg
aby pmset
wrócić, w którym momencie możesz Ctrl + C it
!pmset noidle
- bardzo fajnie, gdy masz komputer stacjonarny obsługujący notebook IPython i laptop łączący się zdalnie.
caffeinate -i -s /bin/ssh ...
Wyjaśnienie:
-i
- Zapobieganie bezczynności snu.
-s
- Zapobiegaj uśpieniu systemu (całkowicie, nawet jeśli zamkniesz pokrywę). Uwaga: działa tylko przy zasilaniu prądem przemiennym.
/bin/ssh
- Po prostu pisz dalej polecenie, które chcesz wykonać. Korzystanie ssh
bezpośrednio zamiast zamiast /bin/ssh
powinno również działać.
Wyniki: Twój system nie będzie spał, dopóki ssh
polecenie jest uruchomione.
Jeśli szukasz opcji nuklearnej takiej jak ja:
sudo systemsetup -setcomputersleep Never
Wygaszacz ekranu StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) ma również opcję utrzymywania MAC w stanie czuwania przez 2 godziny, 8 godzin lub na stałe. Ten sposób wyłączenia snu MAC jest znacznie łatwiejszy niż kofeina.