Why sometimes kill does not work
Sometimes you might noticed that kill statement does not work in some cases, e.g.
The reason is that the kill statement send a SIGTERM signal to the target process by default and tell the process to terminate itself. However, this signal can be catch up by the process and therefore can be ignored if the program's writer choose to ignore.
To kill a process at all cost, use
kill -9 program
SIGKILL will be send instead of SIGTERM, which cannot be caught or ignored.