rang@cpsin3.cps.msu.edu (Anton Rang) (11/28/88)
I'm looking for two things. The first is a "good" way to read the process table--in other words, one that isn't likely to break with every release of the OS. A little background: I have a program to kill "idle" (non-CPU using) processes. I have currently hacked around the code from "ps" to read the proc. table, but it's very ugly. Is there some nice library out there somewhere? This is on a Sun-3. The next question is fairly simple. How do I find out what terminal a process is associated with? What I *really* want is to have a way to write a warning message ("You will be killed in 10 minutes" for example) to a process. The implementation of "ps", at least on the Sun-3 under 3.x, seems to be broken in this regard; "background" jobs should show up without a terminal, and various processes seem to attach themselves at random to a terminal ("in.syslog" for example). Finally, one last question. I would like to find out if there is anyone logged onto a pseudo-terminal. Actually, what I *really* want is a way to keep open() from hanging when the terminal located for the process isn't logged on. Right now I just use fork() before the open() so that when the process hangs it doesn't stop the bouncer program from running; it is idle, so eventually bouncer kills its own subprocesses. This is a real mess though. So...is there anyone out there with some good ideas about this? Please E-mail responses, as I don't have time to read this newsgroup all the time. Thanks in advance. (I may post a summary, so if you don't want your article or name included in one, let me know.) Thanks again! +---------------------------+------------------------+----------------------+ | Anton Rang (grad student) | "VMS Forever!" | "Do worry...be SAD!" | | Michigan State University | rang@cpswh.cps.msu.edu | | +---------------------------+------------------------+----------------------+