nohup lub proces trwały na ssh Mac OS X.


9

Wiem, że już o to pytano, ale żadna z odpowiedzi nie działa w OS X Mountain Lion. Chciałbym uruchomić proces przez SSH i zamknąć terminal bez zabijania tego procesu.

nohup ccl64 -e '(ql:quickload :"file")' & 

Nie działa Gdy terminal jest zamknięty, proces umiera.

nohup ccl64 -e '(ql:quickload :"file")'

To samo tutaj.

Myślę, że musi być jakiś sposób. Jest to bardzo denerwujące, ponieważ działa standardowo w dowolnym systemie Linux, ale Mac OS X odmawia współpracy z którąkolwiek z tych kombinacji.

Odpowiedzi:


9

Jedną rzeczą, która zawsze działa, jest screen. http://ss64.com/osx/screen.html wydaje się, że jest domyślnie dostępny w Mac OS X.

Edytuj: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html kolejny ekran samouczka.

Dodatkowo, oto kilka szybkich wskazówek, jak używać screen

Otwórz nową instancję „ekranu”

$ screen

Raz na ekranie możesz „odłączyć” (lub zamknąć) ekran w następujący sposób:

ctrl+A and then press D

Aby wznowić ekran, zwykle robisz to:

$ screen -x

Jeśli masz więcej niż jedną instancję ekranu, podadzą ci ich identyfikatory, w którym to przypadku możesz wybrać, który chcesz wznowić w ten sposób:

$ screen -r <screen id>

więc przez ssh wykonuję screen, a następnie przekazuję polecenie nohup? z czy bez & na końcu?

Nie ma potrzeby nohup. Po prostu wykonaj screen ccl64 ... i. Później, jeśli zajdzie taka potrzeba, możesz ponownie połączyć się z ekranem -R, aby monitorować postępy. Alternatywnie, po prostu uruchom screen i wpisz tam polecenie, możesz odłączyć za pomocą Ctrl + A D.
chx

dzięki, że możliwe jest zapisanie danych wyjściowych ekranu w pliku po uruchomieniu?

Oczywiście ekran może zrobić wszystko. Chcesz screen -X hardcopy. Zobacz bbs.archlinux.org/viewtopic.php?id=47521, aby uzyskać więcej.
chx

5

Spróbuj screenzamiast tego, nadal powinna być częścią domyślnej instalacji. Niektóre osoby używają nawet ekranu jako domyślnej powłoki, więc nie muszą się martwić o nic.


2
czy możesz opisać, jak uruchomić polecenie nohup z screenem?

Używasz screena zamiast nohup, a następnie odłączasz ekran. Twój program będzie działał nawet po zakończeniu sesji ssh.
Sven

Zobacz man screenszczegóły.
Sven
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.