Demonstration:
$ merb -c 2 -d
Starting merb server on port: 4000
Starting merb server on port: 4001
[hanum..@hrvoje merb]$ merb -K all
/home/hanuman/layered/clipshare_rails/merb/log/merb.4000.pid
killed PID 5187 with signal 1
/home/hanuman/layered/clipshare_rails/merb/log/merb.4001.pid
killed PID 5189 with signal 1
Looks good.
Now, let's say I make mistake and try to start merb twice:
merb -c 2 -d
Starting merb server on port: 4000
Starting merb server on port: 4001
$ merb -c 2 -d
Starting merb server on port: 4000
Starting merb server on port: 4001
$ merb -K all
/home/hanuman/layered/clipshare_rails/merb/log/merb.4000.pid
Failed to kill! all
He leaves old meerbs running, but puts new pids if files in log dir. So it doesn't know how to stop them anymore. Only solution now is killing them manually.