What is the best way to monitor long running queries in SQL Server? I have to run quite a few long-running queries (rebuilding indexes, updating large sets of data) for my database.  Is there an alternative to running the query in SQL Server Management Studio and checking on it every hour or so?  I would like to be emailed or sent a message when it's done, but don't know the best tool for this.
Following Gaius post: You can create an .SQL script which does what you need with use db in front of the script -> create a SQL Agent job of Operating system type which calls the script: 

sqlcmd -E -S SERVERNAME -i"c:\YOURSCRIPT.sql" -o"C:\YOURSCRIPT_LOG.log"

Add new step and use msdb.dbo.sp_send_dbmail procedure to send email. This feature can be customized to display inside the mail a specific query from SQL tables to confirm the execution of the script... for example dbcc showcontig of your rebuild indexes.