I came across this today. I assume that you previously sent the USR2 to the unicorn, and this is the second time you are trying to do this.
In the unicorn documentation on signals and USR2: "A separate QUIT should be sent to the original process as soon as the child is checked up and running."
In this particular case, you must pass the old PID in order to kill
kill -s QUIT 23820
Or you can take advantage of the fact that this old PID stores a known file (link in the error message) along with the "current" PID and does:
kill -s QUIT `cat /home/user/app.git/tmp/unicorn.pid.oldbin`
Dan jackson
source share