fg to put the job back onto the foreground, i.e. give it back control of the terminal. If there are multiple background jobs, run
jobs to see a list and
fg %2, etc., to select which job to put back to the foreground.
See the Wikipedia article on job control for more information.
If a program is running on the foreground, press Ctrl+Z to suspend it. When you do this, you'll get a shell prompt. Run
bg to make the program keep running, but in the background.
If a background job terminates, the shell will print a notification the next time it displays a prompt. If a background job requires input from the terminal, it will automatically be suspended (“stopped”);
fg %42 if necessary) resumes it.
If you want to trigger a more visible notification when the program finishes, you can run something like
fg; play bell.ogg & xmessage "torrents downloaded"
fg command returns when the program that it resumes finishes, so whatever you told the shell to run after
fg will run when the program finishes. Note that if you press Ctrl+Z to put the job back into the background, then the shell stops waiting and runs the following commands immediately.