Mam długo działający skrypt na komputerze zdalnym.
Nie chcę kończyć mojej sesji ssh i muszę wprowadzić ją do skryptu powłoki.
Jak można zapobiec zasypianiu komputera Mac z wiersza poleceń?
sleep-wake
command-line
kobame
źródło
źródło
Odpowiedzi:
W Mountain Lion możesz użyć
caffeinate
polecenia.zapobiegnie bezczynności snu przez 1000 sekund.
źródło
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ę .źródło
man screen
.Inną opcją jest pmset . Użyj polecenia,
pmset noidle
aby zapobiec uśpieniu tak długo, jakpmset
działa. Niestety wymaga osobnego okna terminala zpmset
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ć dopmset
pisaniafg
.źródło
pmset
w tle,pmset noidle &
a zatem kontynuować korzystanie z bieżącego wiersza polecenia. Wpisz,fg
abypmset
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.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ć. Korzystaniessh
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.źródło
Jeśli szukasz opcji nuklearnej takiej jak ja:
- Ustaw lub wyłącz tryb uśpienia z powodu braku aktywności systemu Mac z wiersza poleceń w systemie OS X
źródło
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.
źródło