I made a simple test case that should make this bug (or my error in using the software) easy to reproduce. I'm attaching it since it is so tiny; it is also available from http://opensysadmin.com/bugs/runit/test1-service.tar.bz2 Below is a transcript of using it to demonstrate the problem: root@cmlab:/tmp# tar xfj test1-service.tar.bz2 root@cmlab:/tmp# cd test1-service/ root@cmlab:/tmp/test1-service# ./runsvdir-here ^C root@cmlab:/tmp/test1-service# ps auxw | grep [s]v root 19882 0.0 0.0 2516 348 ? Ss 22:28 0:00 runsv test1-service root 19883 0.0 0.0 2656 368 ? S 22:28 0:00 /usr/local/bin/svlogd -tt ./logs root 19884 0.0 0.0 10060 1408 ? S 22:28 0:00 /bin/sh ./test1-sv.sh root@cmlab:/tmp/test1-service# sv exit /tmp/test1-service/var-service/test1-service root@cmlab:/tmp/test1-service# sleep 7 root@cmlab:/tmp/test1-service# ps auxw | grep [s]v root 19882 0.0 0.0 2516 348 ? Ss 22:28 0:00 runsv test1-service root 19883 0.0 0.0 2656 368 ? S 22:28 0:00 /usr/local/bin/svlogd -tt ./logs root@cmlab:/tmp/test1-service# rm var-service/test1-service root@cmlab:/tmp/test1-service# sleep 7 root@cmlab:/tmp/test1-service# ps auxw | grep [s]v root 19882 0.0 0.0 2516 348 ? Ss 22:28 0:00 runsv test1-service root 19883 0.0 0.0 2656 368 ? S 22:28 0:00 /usr/local/bin/svlogd -tt ./logs (I would think runsv and svlogd should not be showing up here, because runsvdir is no longer running, sv exit has been called, and the run director has been removed, with >5 second pauses between the removal and the ps)