3 # Example init script, this can be used with nginx, too,
4 # since nginx and unicorn accept the same signals
6 # Feel free to change any of the following variables for your app:
8 APP_ROOT
=/home
/x
/my_app
/current
9 PID
=$APP_ROOT/tmp
/pids
/unicorn.pid
10 CMD
="/usr/bin/unicorn -D -c $APP_ROOT/config/unicorn.rb"
11 INIT_CONF
=$APP_ROOT/config
/init.conf
15 test -f "$INIT_CONF" && .
$INIT_CONF
19 cd $APP_ROOT ||
exit 1
22 test -s "$PID" && kill -$1 `cat $PID`
26 test -s $old_pid && kill -$1 `cat $old_pid`
31 sig
0 && echo >&2 "Already running" && exit 0
36 echo >&2 "Not running"
40 echo >&2 "Not running"
43 sig HUP
&& echo reloaded OK
&& exit 0
44 echo >&2 "Couldn't reload, starting '$CMD' instead"
48 if sig USR2
&& sleep 2 && sig
0 && oldsig QUIT
51 while test -s $old_pid && test $n -ge 0
53 printf '.' && sleep 1 && n
=$
(( $n - 1 ))
57 if test $n -lt 0 && test -s $old_pid
59 echo >&2 "$old_pid still exists after $TIMEOUT seconds"
64 echo >&2 "Couldn't upgrade, starting '$CMD' instead"
71 echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"