"kill <PID>" на самом деле не убивает процесс, почему?

Процессы могут игнорировать некоторые сигналы. Если вы отправите SIGKILL, он не сможет его проигнорировать (и не перехватит его для выполнения очистки). Попробуй:

kill -9 {PID}

Узнайте больше, прочитав страницу руководства:

man kill