What are the differences between

  • Kill a process
  • Suspend a process
  • Terminate a process

In which situation is each term used.


To suspend a process means to make it stop executing for some time. When the process is suspended, it doesn't run, but it's still present in memory, waiting to be resumed (woken up). A process can be suspended by sending it the STOP signal, and resumed by sending it the CONT signal.

To kill a process means to cause it to die. This can be done by sending it a signal. There are various different signal, and they don't all cause the process to die. the KILL signal always does cause the process to die; some other signals typically do but the process can choose to do something different; and there are signals whose role is not to cause the process to die, for example STOP and CONT. Note that the kill utility and the kill C function send a signal, which may or may not actually kill the process.

To terminate a process means to cause it to die. The difference between kill and terminate is that kill generally refers specifically to sending a signal, whereas terminate usually also includes other methods such as sending the process a command that tells it to exit (if the process includes a command interpreter of some kind).

  • Noob related question: If I've got an SSH session going into a remote unit, and a process X going on the remote unit, will Ctrl-Z suspend process X, or the SSH session itself? – brianfit Jan 16 at 8:11
  • 1
    @brianfit The SSH client transmits Ctrl-Z to the server, so it will suspend process X. To suspend the OpenSSH client, type ~ (tilde) then Ctrl-Z at the beginning of a line. – Gilles Jan 16 at 8:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.