Possible methods for the kernel to terminate a process

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Jun 22 16:01:52 EDT 2010

On Tue, Jun 22, 2010 at 03:40:35PM -0400, Xiachen Dong wrote:
> We have such question because we try to kill a user space process by the
> shell command kill and we cannot kill it probably because it is in an
> un-interruptible sleep/wait. 

Some applications block some signals while they wait for events.
SIGKILL is one signal which is unblockable.  Have you tried using
this rather than SIGTERM ?

> However, we still wish to be able to kill the user space process under
> this circumstance. To our knowledge of the kernel, if the kernel wants
> to kill a process when special event such as exception happens, it
> usually sends a signal to the process. We really cannot think of any
> other methods for a kernel to terminate a process.

Sometimes the kernel forcefully exits the task - but that can only happen
while the task's context is running.  If it's in an uninterruptible wait
then it won't be running.

More information about the linux-arm-kernel mailing list