Ending a process instance results in ending all tokens in it, firing a process-end event, notifying the super process (if any) and canceling the related timers.
I guess you want jBPM to kill threads moving a token through the process graph, but that's outside the scope of jBPM. Apart from asynchronous continuations, jPBM runs in the client thread. If the client thread is managed, as is the case of servlet or EJB contexts, jBPM could not kill the thread without making someone mad.
On the other hand, if you are running jBPM in a nonmanaged environment, then you created the threads and you should be able to terminate them on your side.