Date: Wed, 24 Jun 1998 08:43:42 +0800 From: Doug Lo <jwlo@ms11.hinet.net> To: Greg Lehey <grog@lemis.com> Cc: spork <spork@super-g.com>, freebsd-questions@FreeBSD.ORG Subject: Re: HELP! "who" hangs system. Message-ID: <35904BBD.2F3A88E2@ms11.hinet.net> References: <Pine.BSF.3.96.980618025146.21295B-100000@super-g.inch.com> <3588CD5A.51BED253@ms11.hinet.net> <19980618183245.36149@papillon.lemis.com> <358C78E8.4AEEA6B7@ms11.hinet.net> <19980623121745.A27719@freebie.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Greg, Thank you for taking the time to explain. Maybe my 'who' program has bugs, I'll check it out. Thanks again, Doug. Greg Lehey wrote: > On Sun, 21 June 1998 at 11:07:20 +0800, Doug Lo wrote: > > Greg Lehey wrote: > > > >> On Thu, 18 June 1998 at 16:18:35 +0800, Doug Lo wrote: > >>> spork wrote: > >>> > >>>> Is the system totally hung, or is it just the terminal in which you're > >>>> running 'who'? > >>> > >>> The system is totally hung, I should press "Ctrl-C" to interrupt. :-( > >> > >> You can't get out of a hung system, or even a hung terminal, with ^C. > >> This is just a hung program. > > > > Thanks for the reply. But I have a question what you said:"This is just a hung > > program". > > Would you explain more details, what's a 'humg' program? > > You mean I can't press ^C to terminate the 'who'? > > I thought you said you *could* press ^C and terminate the 'who' > process. > > Let's get some terminology straight: UNIX is an operating system. It > consists of a kernel and user programs. The kernel is started when > you boot and controls execution of programs. When you start a > program, you create what is called a process. A process is an > instance of a running program. You can start the same program more > than once, in which case you have more than one process, but only one > program. Thus, strictly speaking, you can't stop a program, only a > process. > > The kernel runs in a privileged, protected mode. Ideally, there's no > way to stop it except to shut down the system. In practice, it's also > possible (though difficult) to either stop it executing with a panic > (a situation in which the kernel finds it can't continue) or a hang (a > situation in which the kernel doesn't continue). Most kernel hangs > are only partial: processes waiting on particular resources can't > continue, and you may not be able to stop them. In this case, you > need to reboot, with a shutdown if you can still get a reaction from a > virtual terminal, or forcibly via the reset button if not. All such > situations represent some kind of bug, though it's not really clear > that it's a kernel bug if the system hangs because you can't access > the (failed) system disk. > > If a process doesn't react, on the other hand, this is not necessarily > a bug. In the case I think you were talking about, it may have been > waiting for some event which would never happen. In this case, it > should still continue if you send it a signal, such as SIGQUIT, which > you can generate with the ^C key. If it still reacts to ^C, it's not > a kernel bug, though it could be a program bug. > > Looking back over this, I don't know if I have succeeded in making > myself clear. When I clear out the 1000 mail messages waiting for me, > things might be better. Ask again if you need any further > clarification. > > Greg > -- > See complete headers for address and phone numbers > finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35904BBD.2F3A88E2>