Мое приложение - рельсы и питон.пассажирская остановка убить сирот процесс
В рельсах я создаю новый поток и запускаю команду оболочки, которая выполняет скрипты python. Этот скрипт python (родительский процесс) быстро завершится, но до его выхода он будет вилять дочерний процесс, а дочерний процесс будет сиротским процессом после выхода родительского процесса.
Ситуация 1: Если я начну приложение по рельсам: rails s -d
Когда питон родительский процесс завершается и дочерний процесс питон будет: kill pid(./tmp/pids/server.pid)
Затем дочерний процесс будет нормально и не быть убитыми , Это то, чего я хочу.
Ситуация 2: Если я начинаю приложение пассажир: passenger start -e production -d
Когда питон выходит из родительского процесса и дочерний процесс питона будет: passenger stop;
, то дочерний процесс будет убит.
Итак, я хочу знать, что в ситуации 2 ребенок-сиротный процесс не может быть убит? Кто-нибудь испытал это или знает, как его решить?
Я считаю, это потому, что пассажир сделать мой питон скрипт и PassengerHelperAgent тот же групповой процесс id.so, когда пассажир останавливается, он убьет весь процесс, который совпадает с идентификатором группового процесса PassengerHelperAgent . [ссылка ссылки] (http://old.blog.phusion.nl/2012/09/21/the-right-way-to-deal-with-frozen-processes-on-unix/) , но я не знаю как предотвратить пассажира, чтобы не убить мой сценарий. – minnie