Subject: Re: procfs/kernfs "required"? [was Re: kernfs & libkvm]
To: Jason Downs <firstname.lastname@example.org>
From: Open Carefully -- Contents Under Pressure <greywolf@defender.VAS.viewlogic.com>
Date: 01/11/1996 11:40:08
#define AUTHOR "email@example.com (Jason Downs)"
* It's highy inelegant for pieces of an operating system to break if some
* small data structure in the kernel changes. ps(1) and friends should use
* procfs, which should be a mandatory part of the kernel.
Ah, I see what you're saying here. Okay. I could see procfs being a total
win in that respect...
...or Have I Missed Something [TM] here?
* It's time to step out of the stone ages of operating system design. People
* who think otherwise can go run 386BSD or 4.3, and stop holding others
* to an old and broken design.
Probably why Missed 'em Five did /proc.
Curiously, just what is the ctl file for in /proc/<pid>?
It would be A Cool Thing [TM] if one could say 'echo KILL > /proc/<pid>/ctl'
and the process would die... (subject to normal access controls, of course).
It would be also A Cool Thing to allow such operations as chgrp/chmod
on the ctl file. That way there could be group ownership of processes.
This could actually be useful: Imagine a group of backup operators.
Two would suffice. Each with their own login, neither one with root
permission, but both in group 'operator'. Dude A starts a backup and
goes out for the evening. Dude B checks on it and discovers that the
backup is running out of control. (Or Something <uhhuh huh>. [:-)].)
Dude B can't get into Dude A's office to kill the backup, nor does Dude B
have access to Dude A's account, and the last person with root privs
went out for the night and is incommunicado.
BUT...Dude A, in his infinite wisdom, has decided to make sure that all
his processes are group writable in /proc. Dude B can now log into Dude
A's machine and "echo TERM > /proc/<pid>/ctl" and the backup process
Further, should there be a new pmask() system call which determines the
permissions for process creation in /proc? [Defaults to 077, of course.]
* Jason Downs
* firstname.lastname@example.org --> teeny.org: Free Software for a Free Internet <--
#undef AUTHOR /* "email@example.com (Jason Downs)" */
Please be quite. No eating the lab.