Отключить сервер rails, который был приостановлен в другом окне терминала - PullRequest
1 голос
/ 04 мая 2011

Я на Mac OSX с использованием Zsh. Если я запускаю сервер rails с «rails s», я могу поместить его в фоновом режиме, нажав «ctrl-z» в моем терминале (zsh).

Если я открою другое окно терминала, тогда я не увижу сервер rails, если я выполняю «задания». Тем не менее, я вижу это, когда я делаю "ps".

Есть ли способ, которым я могу как-то "отключить" сервер rails в этом новом окне терминала?

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Вы не можете легко переместить процесс на новый tty .Самым простым решением было бы запустить его в сеансе screen , отсоединить экран и затем продолжить в новом терминале.

0 голосов
/ 04 мая 2011

Задание "останавливается", отправляя ему SIGSTOP. Ваш C-z не отправляет задание в фоновый режим. Это "останавливает" это. Затем вы можете переместить его в фон, используя встроенную оболочку bg. Однако, если вы отправите этот процесс SIGCONT (kill -CONT <pid>), он должен вернуть процесс на передний план. Это можно сделать из другой оболочки.

Вы не увидите его, если наберете jobs, потому что это задание, управляемое другой оболочкой (другое окно терминала, а не то, в котором вы вводили задания). Однако процессы являются «глобальными» и могут быть видны из любого места с помощью команды ps (как вы правильно указали).

Обновление : Похоже, я говорил слишком рано. По-видимому, одного сигнала недостаточно, чтобы вернуть его на передний план. Вероятно, что-то делать с оболочкой.

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