Sometimes, when you start a program, it prints out some message. If you start it in background, the program may lock up until you bring it back to the foreground so that it can display its message. The solution is to redirect stdout and stderr so that the program can continue running in the background. One way to do this is:
evince myfile.pdf >~/evince.errs 2>&1 &
The above creates a file in your home directory with whatever message
evince wanted to display.
If you are convinced that evince's messages are unimportant, you can discard them without creating a file:
evince myfile.pdf >/dev/null 2>&1 &
After running either of the above commands, the shell should produce a message like
 1234 and then a shell prompt should appear. As Graeme suggests, if the shell prompt does not appear, try pressing enter again.