Skip to content

Instantly share code, notes, and snippets.

@Shinpeim
Created July 20, 2012 16:45
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Shinpeim/3151808 to your computer and use it in GitHub Desktop.
Save Shinpeim/3151808 to your computer and use it in GitHub Desktop.

unicornのシグナルまとめ

Masterに送るシグナル

HUP

unicornに食わせた設定ファイルの preload_app が false なら、application codeのあらゆる変化を読み込んだ上でworkerをリスタートする。preload_appがtrueならばapplication codeが変化しててもそれを反映しない。その場合USR2 + QUIT使わないとだめ

reloadするときに Gem.refresh が呼ばれるので、Gemfileに新しいライブラリ書いてあればそれ読み込むよ

INT/TERM

即死する。gracefullじゃない

QUIT

gracefullに死ぬ

USR1

master,workerが開いてるログファイルを再openする

USR2

masterごと再executeする。小シグナルがforkされたあとにはQUITシグナルを個別に送らないと元のプロセスは死なない

WINCH

masterは残るけどworkerはgracefullに死ぬ。使いどころがわからん

TTIN

workerの数増やす

TTOU

workerの数減らす

workerに送るシグナル

INT/TERM

workerを即殺す、WINCHがmasterに送られてなくてmasterが生きてる場合は、殺した分masterがworkerをrespawnする。workerが暴走したときとかに使うといいのかな

QUIT

workerをgracefullに殺す。WINCHがmasterに送られてなくてmasterが生きてる場合は、殺した分masterがworkerをrespawnする。

USR1

workerが開いてるログファイルを再openする

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment