Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site wivax.UUCP Path: utzoo!linus!wivax!dyer From: dyer@wivax.UUCP (Stephen Dyer) Newsgroups: net.unix Subject: Re: Wanted: UNIX interactive terminal session logger Message-ID: <18956@wivax.UUCP> Date: Fri, 11-Nov-83 22:25:27 EST Article-I.D.: wivax.18956 Posted: Fri Nov 11 22:25:27 1983 Date-Received: Sat, 12-Nov-83 21:00:58 EST References: <306@houxa.UUCP> Organization: Wang Institute, Tyngsboro, Ma. 01879 Lines: 27 Bruce Borden did this for the Harvard UNIX systems long ago, and it's been carried over to their 2.9BSD/4.1BSD systems. It involves some minor kernel mods--essentially, one can associate a "protocol" file handle with a primary file handle, so that the protocol file is written upon automatically whenever a write OR read operation occurs on the primary file. In other words, when you read or write data to the primary file, the protocol file receives a copy of that data. The user interface looks like this: % monitor arbitrary-unix-command > protocolfile (the standard output is restored to that of the terminal after the protocol file is assigned. Any reads or writes to standard input, standard output or standard error are placed into the protocolfile.) This works incredibly well whenever you need a copy of a complete session saved for later printout (of course, screen operations don't make much sense on a line printer.) It really is a good counter-example to those who always argue "keep it out of the kernel"--"tee" and pipes just can't do the job here. At Harvard, it's been used by students for the past 9 years. Contact John Park at the Harvard Science Center for info. His net address is "decvax!genrad!wjh12!unixvax:park". /Steve Dyer decvax!bbncca!sdyer