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 отказывается работать с любой из этих комбинаций.

Ответы:


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вместо этого, он все равно должен быть частью установки по умолчанию. Некоторые люди даже использовать экран в качестве оболочки по умолчанию , так что они не должны беспокоиться о поЬир вообще.


2
Не могли бы вы описать, как запустить команду nohup с экраном?

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

Смотрите man screenподробности.
Свен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.