We have had this same problem: we have a “hot deploy” system that
deploys the new code, and then sends the USR2 signal to the master
unicorn to restart. About 20% of the time (very rough estimate, no real
research into that number) the unicorn master does not restart (though,
annoyingly, the deploy still acts like it succeeded). They respond to
KILL or QUIT but not USR2.
kill -s QUIT 23820 or you can take advantage of the fact this old PID is
stored a known file (referenced in your error message) alongside the
“current” PID, and execute: