Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site megad.UUCP Path: utzoo!linus!philabs!sbcs!megad!seth From: seth@megad.UUCP (Seth H Zirin) Newsgroups: net.unix-wizards Subject: Re: Unkillable processes Message-ID: <132@megad.UUCP> Date: Wed, 24-Apr-85 16:20:40 EST Article-I.D.: megad.132 Posted: Wed Apr 24 16:20:40 1985 Date-Received: Sat, 27-Apr-85 03:17:50 EST References: <2536@drutx.UUCP> Organization: Megadata Corp., Bohemia, NY Lines: 28 > I have seen several times in the past years, processes which cannot > be killed on UNIX. I have been told that one of two things can be > happening. One, the process is waiting on a non-existant wait channel, or > two, the process is running with a negative priority level. A process sleep()ing with a lower (more attractive) priority than the constant PZERO ignores signals, and cannot be awakened other than with a wakeup() call. Since kill()ing a process involves sending it a signal, a process is unkillable if it is sleeping below PZERO. There are several places in most Unix kernels where a process will sleep like this. The solution: (1) Trick the process into waking up somehow. (2) Use adb on /dev/kmem to change the priority to (PZERO + 1) Once the process is running or has a higher (less attractive) priority than PZERO, it will obey a number nine. Bear in mind that if a process is sleeping below PZERO there is probably a reason for it, and kludging it awake may make your kernel nauseous. -- ------------------------------------------------------------------------------- Name: Seth H Zirin USmail: Megadata Corp. 35 Orville Dr., Bohemia, NY 11716 Phone: 516-589-6800 (M-F 9-5 EST) UUCP: {decvax, ihnp4}!philabs!sbcs!megad!seth Keeper of the News for megad