Как запустить процесс, который не закончится, когда закончится мой ssh-сеанс? - PullRequest
4 голосов
/ 01 ноября 2010

Каким-то образом это не дает поиск в Google.

Я пишу сервер в файле node.js.Я запускаю сервер, выполняя его скрипт с помощью программы узла:

узел myserver.js

Но остановка сервера зависит от моего сеанса SSH.Как я могу сделать это (и все такие процессы) постоянным?Init.d

Ответы [ 5 ]

11 голосов
/ 01 ноября 2010

Используйте команду nohup:

С http://en.wikipedia.org/wiki/Nohup

nohup - это команда POSIX для игнорирования сигнала HUP (зависания), позволяющая команде продолжать работать послепользователь, выдавший команду, вышел из системы.Сигнал HUP (зависания) является обычным способом, которым терминал предупреждает в зависимости от процессов выхода из системы.

Попробуйте это:

nohup node myserver.js &
3 голосов
/ 01 ноября 2010

Вы пробовали экран GNU ?Используя его, процесс может продолжить работать, когда вы закончите сеанс SSH.nohup - это стандартная * nix-команда, которая позволит вам сделать то же самое, хотя и более ограниченным образом.

1 голос
/ 01 ноября 2010

Использовать экран. Наберите screen из терминала и запустите ваш процесс. Если вы отключитесь, вы можете повторно подключиться к сеансу ssh, набрав «screen -ls» (для просмотра активных экранов) и «screen -r» для повторного подключения.

0 голосов
/ 02 ноября 2010

nohup хорош для запуска работы.Если задание уже запущено, вы можете попробовать отменить -h (хотя бы в bash)

0 голосов
/ 01 ноября 2010

Программа должна работать в демонизированном режиме. Вот хороший пост для этого в Ubuntu .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...