off topic: combined output of concurrent processes
Dave Ihnat
dihnat at dminet.com
Sat Apr 14 13:33:43 UTC 2012
On Sat, Apr 14, 2012 at 01:35:38AM +0000, Amadeus W.M. wrote:
> So here is the question. Suppose I have several processes that run
> concurrently and each outputs stuff to stdout. Can the combined output be
> intermingled?
If you just send the output to a file, you've no way of knowing exactly
when it will be output, or whether it will be buffered before writing.
You can mitigate this a bit by making every output line have a sequence and
process identifier--the PID and date in seconds would work--so you could
separate the streams later.
If you really would like to get output in sequence, write to a pipe, and
have a reader process drain the pipe to a logfile. It's pretty easy; look
at "mknod" with the 'p' option, or "mkfifo". I'd still suggest tagging
each output line with an identifier and sequence number.
Cheers,
--
Dave Ihnat
dihnat at dminet.com
More information about the users
mailing list