Matthew Hudson wrote:
Mon Dec 11 09:08:37 PST 2006 c0re dumped wrote:
I wonder if is possible to read data from a
certain file without using a pipe.

Let me explain:

I have a process already writing messages to
a logfile. I want to read all written data
(without neither stop nor interfere normal
log process) from another process in real
time.

How can I achieve it ?


When on the command line, I do this using the program 'socat'
(net/socat in ports). I.e.
        socat FILE:/var/log/messages,ignoreeof -

This gives me the same sort of behavior as 'tail -f' except that
it reads the entire file in first.  I also use this when I'm
say scp'ing over a really large tarball of text files and want
to start looking at the files as they're coming in: * bigdir.tgz is a big tarball being scp'd over, 3 hours remaining *

        socat FILE:bigdir.tgz,ignoreeof - | gzip -dc | tar xf - &

and just like that I now have bigdir.tgz being expanded in realtime
without having to do anything that may have interfered with the scp (such
as using ssh to run 'tee' on the remote host and do it that way.

Wouldn't "tail -f +1" do the same thing?

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to