I'm confused here. You say you have a thread that waits for user input and you want to run that in the background?!
You might not want to do that
Or does it wait on some other channel on user input?
Is it software of your own making?
If so, try and disable the user input thread and try to run again.
Could be anything, just trying...