Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jul 1996 21:19:30 GMT
From:      James Raynard <fqueries@jraynard.demon.co.uk>
To:        bala@cst.com.au
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Killing processes
Message-ID:  <199607192119.VAA03861@jraynard.demon.co.uk>
In-Reply-To: <199607190705.RAA02664@skeg.cst.com.au> (message from Bala Periasamy on Fri, 19 Jul 1996 17:05:56 %2B1000 (EST))

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> Bala Periasamy <bala@cst.com.au> writes:
> 
> How to kill processes in the "D" state.

You can't.

	D	Marks a process in disk (or other short term, uninter-
                ruptible) wait.

> Sometime it just hangs in the system. Unless I reboot I can't get rid of
> the processes.

This is because the process has made a system call, the information it
wanted wasn't available immediately and the kernel has put it to sleep
until it does become available.

This sleep can be interrupted, but this is usually only done if the
delay is of unpredictable length (eg waiting for a keypress on the
terminal - the user may be talking to a friend, or even have gone home
and forgotten all about the program).

For something like reading from a disk, it's assumed that the delay
should only last a fraction of a second and that it's not worth waking
up the process.

If this is a program you wrote yourself, you can use siginterrupt(3)
to change this behaviour.

-- 
James Raynard, Edinburgh, Scotland
james@jraynard.demon.co.uk
http://www.freebsd.org/~jraynard/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607192119.VAA03861>