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 за замовчуванням.

Редагувати: 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 я роблю екран, а потім передаю команду nohup? з & без кінця & без?

Не потрібно nohup. Просто зробіть екран ccl64 ... &. Пізніше, якщо вам потрібно, ви можете знову підключитися до екрану -R, щоб стежити за ходом. Крім того, просто запустіть екран і введіть туди команду, ви можете від'єднатись за допомогою Ctrl + A D.
chx

завдяки можливо зберегти вихідний екран у файл після запуску?

Звичайно, екран може зробити все. Ви хочете екран -X hardcopy. Див. Bbs.archlinux.org/viewtopic.php?id=47521 для отримання додаткової інформації.
chx

5

Спробуйте screenзамість цього, він все одно повинен бути частиною встановлення за замовчуванням. Деякі люди навіть використовують екран як оболонку за замовчуванням, тому їм зовсім не потрібно турбуватися про nohup.


2
Ви могли б описати, як запустити команду nohup з екраном?

Ви використовуєте екран замість nohup, а потім від'єднуєте екран. Ваша програма продовжить працювати, навіть якщо сеанс ssh закінчиться.
Свен

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