Defragmenting the hard drive

When I attempt to defragment the hard drive, the process takes place but runs for several hours without stopping until something interrupts the process.  I have had it running for over 5 hours now and still no results.  How long should this take?  I have never been able to complete a defragmentation.