nohup или постоянный процесс в Mac OS X ssh

9

Я знаю, что об этом уже спрашивали, но ни один из ответов не работает в OS X Mountain Lion. Я хотел бы запустить процесс через SSH и закрыть терминал, не убивая процесс.

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

Не работает Когда терминал закрыт, процесс умирает.

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

Тоже самое.

Я думаю, что должен быть способ. Это очень раздражает, так как работает как стандарт в любой системе Linux, но Mac OS X отказывается работать с любой из этих комбинаций.

bmike
источник

Ответы:

9

Одна вещь, которая всегда работает, это screen. http://ss64.com/osx/screen.html По- видимому, он доступен в Mac OS X по умолчанию.

Edit: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html другой учебник примыкает экран.

Кроме того, вот несколько быстрых советов о том, как использовать screen

Откройте новый экземпляр экрана

$ screen

Однажды на экране вы можете «отсоединить» (или закрыть от него) экран следующим образом:

ctrl+A and then press D

Чтобы возобновить экран, вы обычно делаете это:

$ screen -x

Если у вас есть более одного экземпляра экрана, он сообщит вам их идентификаторы, и в этом случае вы можете выбрать, какой из них возобновить следующим образом:

$ screen -r <screen id>
СНХ
источник
так через ssh я делаю screen и затем передаю команду nohup? с или без & в конце?
Нет необходимости nohup. Просто сделайте экран ccl64 ... &. Позже, если вам нужно, вы можете повторно подключиться к экрану -R, чтобы отслеживать прогресс. В качестве альтернативы, просто запустите экран и введите команду там, вы можете отсоединиться с помощью Ctrl + A D.
chx
спасибо можно сохранить вывод экрана в файл после запуска?
Конечно, экран может сделать все. Вы хотите экран -X hardcopy. См. Bbs.archlinux.org/viewtopic.php?id=47521 для получения дополнительной информации.
chx
5

Попробуйте screenвместо этого, он все равно должен быть частью установки по умолчанию. Некоторые люди даже использовать экран в качестве оболочки по умолчанию , так что они не должны беспокоиться о поЬир вообще.

Sven
источник
2
Не могли бы вы описать, как запустить команду nohup с экраном?
Вы используете экран вместо nohup, а затем отсоедините экран. Ваша программа продолжит работать, даже если сессия ssh завершится.
Свен
Смотрите man screenподробности.
Свен