> > I wrote a little line program to do a revoke(), it was basically
> > 
> > int main(int argc, char *argv[]) { revoke(argv[1]); }
> > 
> > Now this doesn't kill a darn thing.  And you should be aware of it!  But it
> > does forcibly "close" any open fd's pointing at the tty in question, and
> > most programs will get the hint and go away.
> 
> Not all programs, and that can lead to all sorts of problems
> with processes that never die.  There are many stories of this
> happening with vi, for example.

That's why I said, "most programs".

> > For some uses, especially predictable uses, this is probably a lot simpler
> > and a lot more foolproof.
> 
> Simple: yes.  Foolproof: definitely no.

Uh, well, "foolproof" != "calling ps and awk and grep and looking for
processes".  For ANY definition of foolproof.

And it is certainly foolproof from the point of view that there's no way
in hell for the session not to be terminated, unlike some ps garbage I've
seen.

It's also an interesting way for a user without root permissions to "kill"
a suid process of some sort that happens to be running on a tty owned by 
the user - which can happen.  But, again, it relies on proper attention by
programs to dying upon close of std{out,in}.
-- 
... Joe

-------------------------------------------------------------------------------
Joe Greco - Systems Administrator                             [EMAIL PROTECTED]
Solaria Public Access UNIX - Milwaukee, WI                         414/342-4847


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to