Eu tenho uma teoria possível para isso.
Quando você executa o aplicativo como
$ rake resque:work QUEUE='*' &
[1] 13031
O aplicativo faz internamente um fork+exit , para ser executado em segundo plano.
C equivalente ao código seria:
if(fork()) exit(0);
Assim, o processo com PID==13031 gerará um processo filho & sair em si. A criança continuará correndo em segundo plano & será herdado pelo processo init (PID == 1).
Você pode ver se este é o caso, pressione outra tecla enter depois de iniciar o comando rake . Você vê impressões assim?
[1]+ Done rake resque:work QUEUE='*'
Tente executar ps no terminal. Isso deve mostrar o PID do processo filho.
Se você kill , o daemon deve sair.