To pytanie ma już odpowiedź tutaj:
Muszę uruchomić długą operację w MATLAB na zdalnym serwerze Unix. Ale wiem, że nie będę mógł pozostać zalogowany przez SSH przez cały czas. Jestem rootem / administratorem, jeśli to pomaga.
Jak mogę to zrobić bez utraty pracy?
To, co aktualnie robię, to otwieranie MATLAB, a następnie robienie czegoś takiego:
t=cputime; x=A\b; time=cputime-t; save('workspace.mat')
Podczas gdy to działa (x = A \ b jest operacją zajmującą cały czas) zamykam moją powłokę SSH, na której działał MATLAB, i operacja nie kontynuuje się. Więc nie dostaję wyników.
Jak mogę to uruchomić, nawet jeśli wyloguję się z SSH w połowie? Dzięki.
Odpowiedzi:
Musisz albo przesunąć polecenie w tło, używając końcowego i
Lub, lepiej, zainstaluj SCREEN i być może BYOBU . Następnie możesz mieć trwałą sesję, do której możesz wrócić i sprawdzić bez konieczności ciągłego logowania.
Zainstaluj SCREEN i BYOBU na serwerze i skonfiguruj według potrzeb. Po rozpoczęciu pierwszej sesji będziesz mógł ponownie się z nią połączyć, jeśli zakończysz i ponownie uruchomisz połączenie SSH. Istnieje wiele mądrych rzeczy, które możesz zrobić, aby zautomatyzować sesje, mieć wiele okien, wiele terminali i wiele innych. W tym artykule na temat StackOverflow znajduje się kilka pomysłów na automatyzację połączeń.
źródło
screen
. Zapewnia tabulatorom i trwałość zdalnych sesji. EDYCJA: w rzeczywistościbyobu
wygląda też naprawdę gładko!screen
rozpoczęcie nowej sesji. Przyszłe sesje można ponownie połączyć. Tutaj jest pełniejsza odpowiedź , ponieważ istnieje wiele opcji ułatwiających życie dzięki zdalnym sesjom.