Jak uruchomić program na serwerze Unix, a następnie zamknąć SSH? [duplikować]

0

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.

JDS
źródło
Nie, nie o to pytałem. Nie jestem zainteresowany przeładowaniem stanu sesji, jestem zainteresowany uruchomieniem programu, gdy jestem wylogowany.
JDS

Odpowiedzi:

4

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ń.

Julian Knight
źródło
Jeśli uda mi się rozwidlić, nadal będzie działać, nawet gdy wyloguję się z SSH?
JDS
SCREEN zasadniczo pozwala terminalowi na kontynuowanie pracy bez połączenia SSH, więc powinien nadal działać całkiem szczęśliwie, tak jakbyś był zalogowany. BYOBU sprawia, że ​​praca z SCREEN jest o wiele przyjemniejsza, ponieważ SCREEN nie jest najbardziej intuicyjnym interfejsem użytkownika.
Julian Knight
+1 dla screen. Zapewnia tabulatorom i trwałość zdalnych sesji. EDYCJA: w rzeczywistości byobuwygląda też naprawdę gładko!
trzydzieści trzydzieści
Pozdrawiam @ trzydziesty trzydziesty. Tak, BYOBU jest świetny, natknąłem się na niego ostatnio podczas bałaganu z Raspberry Pi, a teraz mam go na kilku maszynach i serwerach.
Julian Knight
2
Cześć, tak, zainstaluj ekran na serwerze. Po włączeniu SSH pierwszym poleceniem byłoby po prostu screenrozpoczę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.
Julian Knight