Qt client not exiting on Linux
Have you set a proxy?

From my experience slow shutdown seems to have to do with slow proxies (for example, Tor).
There is an issue for this: https://github.com/bitcoin/bitcoin/issues/2954

If it is not the network thread that hangs, but database synchronization, then killing with -9 can be dangerous. 

I'd suggest debugging this by running in gdb, Ctrl-Cing when it hangs, and then getting backtraces for every still-running thread.