我的 Bash 脚本具有以下代码,但不会引发错误。
echo "Reloading Unicorn if USR2 is enabled"
kill -USR2 `cat $PID`
if [ -s $OLD_PID ]
then
kill -WINCH `cat $OLD_PID` && kill -QUIT `cat $OLD_PID`
fi
;;
没有错误,而且发出了新的 pid,这让我认为这有效,但旧的 master 还是$OLD_PID
会一直存在。旧的 pid 长时间存在是正常的吗?我很害怕,就直接杀掉了,但我终于鼓起勇气在这里问这个问题了。
Pt 2,您是否需要在 unicorn.rb 文件中定义 USR2?我记得几年前读过这个,但我回到 unicorn 并再次尝试,现在它可以正常工作了,我认为无需修改配置。
您是否在生产中使用 USR2?如果是,您是否修改了配置以对旧的 pid 执行某些操作以及何时终止它?