8

What are the differences between

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

In which situation is each term used.

2
  • Take a look at the "Related" column to the right, or read linux.die.net/man/7/signal
    – Murphy
    Feb 26 '16 at 12:07
  • 1
    SIGTERM gracefully kills the process whereas SIGKILL kills the process immediately. SIGTERM signal can be handled, ignored and blocked but SIGKILL cannot be handled or blocked. SIGTERM doesn’t kill the child processes. SIGKILL kills the child processes as well. linuxhandbook.com/sigterm-vs-sigkill
    – jobevers
    Dec 18 '20 at 18:20
14

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).

2
  • 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 '19 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. Jan 16 '19 at 8:14

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