Patience and sys.dm_exec_requests
I’m not always the most patient person in the world. I'm better now, but when I first started as a DBA, I'd have a tendency to think that a process had hung when it was actually processing away. Because of that, I made a lot of those mistakes of stopping and restarting a process (especially restores and DBCC CHECKDB commands) when in fact, they were probably working just fine.
Sys.dm_exec_requests is a DMV that returns a row for every request that is currently executing. The command column will hold the command that you're concerned about. The amazing part here is that it has a percent_complete column. For example:
You can also enter the session ID (SPID):