Good Linux question — answering as the UphillTech team:
Generally, you should use kill (short for kill -s TERM , or on most systems kill -15 ) before kill -9 ( kill -s KILL ) to give the target process a chance to clean up after itself. (Processes can't catch or ignore SIGKILL , but they can and often do catch SIGTERM .) If you don't give the process a chance to finish what it's doing and clean up, it may leave corrupted files (or other state) around that it won't be able to understand once restarted. strace / truss , ltrace and gdb are generally good ideas for looking at why a stuck process is stuck. ( truss -u on Solaris is particularly helpful;...
Full answer by geekosaur: https://unix.stackexchange.com/a/8918 (CC BY-SA 4.0).
Need Linux help for your business? UphillTech.