Фоновые процессы Unix перестают выполняться

#unix #xterm #x11

#unix #xterm #x11

Вопрос:

Из моего окна Windows 7 с Cygwin я подключаюсь к ssh в поле Solaris.

Окно Windows:

 # uname -a
CYGWIN_NT-6.1 KSTLINTC20V1335 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
  

Окно Solaris:

 $uname -a
SunOS dncs 5.10 Generic_147441-01 i86pc i386 i86pc
  

Предположим, я вхожу в окно Solaris из окна Windows:

ssh -Y user@host

Я удостоверяюсь, что мой DISPLAY установлен, и я открываю xterm:

/usr/openwin/bin/xterm

Он открывается на моем дисплее.

Теперь я приостанавливаю его с CTRL-z помощью . Затем я печатаю bg , чтобы перевести его в фоновый режим. Я не могу выйти из первого окна, пока этот процесс xterm не будет завершен.

Поэтому я попытался запустить его как таковой

nohup /usr/openwin/bin/xterm amp;

Xterm работает в фоновом режиме, как и ожидалось, но когда я пытаюсь отключиться от своего сеанса ssh в исходном окне, он сообщает мне, что у меня запущены задания. Я думал nohup , что отключил процесс от терминала.

И если я закрою исходное окно, то мой xterm тоже исчезнет.

Я также попробовал это из окна Windows:

ssh -Y user@host /usr/openwin/bin/xterm

Xterm открывается, как и ожидалось. Однако, если я приостановлю его и переведу в фоновый режим: CTRL-z и bg , xterm не будет отвечать. Я не могу ничего ввести в него, пока не выведу его на передний план с fg помощью .

Почему это происходит? Что мне нужно сделать, чтобы «оживить» мои xterms (и другие процессы X window), которые я перевожу в фоновый режим?

Я могу запустить следующее, и оно работает так, как ожидалось:

nohup ssh -Y user@host /usr/openwin/bin/xterm amp;

Комментарии:

1. это вопрос для serverfault.com

2. Не ошибка сервера — это для вопросов типа администрирования сервера / инфраструктуры. Это относится к unix.stackexchange.com или superuser.com

3. nohup ничего не знает о соединениях X11, которые xterm будут использоваться для отображения окна.

4. Настройте подключение DISPLAY к локальному X-серверу по IP-адресу или имени хоста вместо использования ssh переадресации соединения X11. ssh обычно отказывается выходить, пока у вас открыты дополнительные каналы, такие как перенаправленные соединения X11, sftp каналы и т. Д…