twistd и nohup &: в чем разница?

В чем преимущества использования twistd перед nohup?

Зачем делать

twistd -y service.tac

когда я могу:

nohup sudo python my_app.py &

?

Я спрашиваю об этом, потому что столкнулся с трудностями при использовании twistd, см. здесь мой вопрос


person Mostafa    schedule 05.08.2016    source источник
comment
Все, что делает nohup, - это предотвращает отправку SIGHUP при завершении родительского процесса (обычно оболочки). twistd предлагает гораздо больше: twistedmatrix.com/documents/current/core/howto/ basics.html   -  person cdarke    schedule 05.08.2016


Ответы (1)


nohup и демонизация прекрасно объясняется в этом ответе, который в основном может быть tl; dr'd, чтобы nohup command & быть "бедным способом" демонизировать процесс, поскольку он не проходит через все этапы, которые проходит демонизация. Некоторые незначительные отличия:

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

Проще говоря, это не «настоящая» демонизация - есть некоторые различия, которые сейчас могут не показаться проблематичными, но могут иметь место, если в будущем вы предположите, что процесс действительно демонизирован, хотя на самом деле это не так, и выполните операции. как будто это было.

person Nick Bull    schedule 05.08.2016