Как я исправляю процесс disown'd?

Да. В зависимости от конфигурации веб-сервера Вы или ничего не должны делать (используя основанные на IP виртуальные хосты или не используя виртуальные хосты вообще) или настраивать основанный на имени виртуальный хост с директивой ServerName и ServerAlias.

В Apache, который был бы похож:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName foo.com
ServerAlias www.foo.com
# Virtual host document root, logging, other configuration here
</VirtualHost>

Вам также будет нужен DNS для обоих foo.com. и www.foo.com. решать к тому же адресу.

12
задан 29 January 2016 в 21:36
2 ответа

Это - дублирующийся вопрос — видят Перемещение уже рабочего процесса для Экранирования, который указывает на крысиный, который является самодостаточной ужасной реализацией взлома, что я всегда предполагал, могло бы быть возможно, но никогда действительно испытан: это находит fd 0, 1, и 2 (стандарт в, и ошибка, соответственно) для процесса и присоединений к ним, как ужасный отклоняющийся паразит, который не должен быть.

6
ответ дан 2 December 2019 в 21:37
  • 1
    я не знал об этой программе - хотя истина, которая будет сказана, не хорошая практика для использования его! Хороший ответ, независимо. –  Andrew M. 24 November 2010 в 06:18

Путем отрицания процесса Вы эффективно говорите, что хотите, чтобы он проигнорировал SIGHUPs, выпущенный терминалом. После того как Вы закрыли свой сеанс (скажите, удар), этот процесс затем станет принадлежавшим init. Таким образом, когда Вы говорите, что хотите повторно владеть процессом после отказа от владения Вы говорите, что хотите устранить владение из другого процесса - который не реализован, и на серьезном основании. Это просто не возможно сделать корректно в Linux.

6
ответ дан 2 December 2019 в 21:37
  • 1
    Процессы не владеют другими процессами вполне как этот. Отрицаемый процесс все еще работает как Вы. –  mattdm 24 November 2010 в 06:05
  • 2
    Они делают, после того как родительский сеанс был закрыт - как обозначено его вопросом. Я обновил свой ответ для отражения этого. –  Andrew M. 24 November 2010 в 06:13
  • 3
    Родительский процесс изменяется на init, но это отличается от владения. EUID и UID процесса остаются EUID исходного пользователя. Иначе это могло быть потенциально годно для использования, потому что у каждого пользователя внезапно будет способ выполнить код как у другого пользователя и пользователя системы не меньше. –  mattdm 24 November 2010 в 06:32
  • 4
    EUID/UID! = PPID. Я говорю о владении процесса, не полномочиях. –  Andrew M. 24 November 2010 в 06:39

Теги

Похожие вопросы