Paul Smith wrote: > However, it sounds to me like the OP is seeing this issue even with > output to stdout, which is already line-buffered (or is supposed to > be). So, I think the issue might be more complex than that.
No, if I run the same 'make -j4' job in a terminal, there's no problem. No garbling and no truncation of output. > The thing is, it's not a problem with make at all. Make just runs > programs and waits for them to finish. The programs (compilers, etc.) > that make invokes are printing directly to stdout/stderr, themselves; > make is not reading that output and emitting it again. > > I'm pretty sure that line buffering settings are user-space features, > not process features, and as such they are not inherited by > sub-processes but rather determined anew for every process that > starts, based on its terminal settings, etc. Hmm, when a new process is forked, I'm pretty certain the default is for it to continue using whatever stdin/out/err settings the parent process was using. > That means the problem is not make, but rather the programs you're > running are not setting stdout to be line-buffered explicitly. I'm > not sure there's much make can do about it, other than try to set up a > pty or something and redirect all process output to that... ouch. > > Maybe you can run your cron job inside of screen or some other program > that mimics a terminal, so the programs you invoke are set to use line > buffering? I'll look into that. thanks Per Jessen, Zürich _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
