9

I know I can kill any process with kill -9 command . But sometimes i see that even if I have terminated a program with CTRL+C , the process doesn't get killed . So I want to know the difference between kill -9 vs CTRL+C

1

1 Answer 1

12

^C send the interrupt signal, which can be handled by a program (you can ignore it)

kill -9 send the sigkill signal which kills the program that you can't handle.

That's why you can't kill some programs with ^C

3
  • 3
    One critical difference is that "well behaved" programs will catch ctrl-C and clean up after themselves (detach from any shared resources, destroy temporary files, reset the terminal to a sane state), SIGKILL doesn't give them that chance. BTW, it can happen that a program is stuck in an unkillable state inside the kernel. Commented Jan 23, 2013 at 12:38
  • 6
    @l0b0: ^C sends SIGINT. kill (without -9) sends SIGTERM. Both those work the same, and can be handled by the program, but they're independent signals. Commented Jan 23, 2013 at 13:00
  • 2
    If ^C doesn't work then you should try kill next, and then only kill -9 if you have to. The difference is that kill on it's own gives the program chance to clean up its files and whatnot. kill -9 just removes it without asking nicely. Commented Jan 23, 2013 at 13:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.