If the job is killed or is interrupted, it does not have a chance to clear up afterwards. There is no way around this by default, especially if the job has failed in a way that has left the database in a state which does not allow recovery.
If the database restore has completed but left the database in RESTORING state, you could try running a Recovery Only restore. As per the previous post, on the Advanced Restore Options form, you can change the restore type from Database Restore to Recover Only which will run a restore with recovery against the database (i.e. bringing it online).
Again none of this resolves your problems of databases/files left over. You could possibly look at using post-scripts on the SQL restore to run a drop command, but at the end of the day it will really be much easier to retry the restore with overwrite which will overwrite the DB, hopefully bringing it online, or to manually drop and remove the database files.