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>