08-22-2012
If a.out is a long running program and you want to see the output immediately when written, it may be because you're using buffered output from the STDIO package writing functions (e.g., printf(), putchar(), and fwrite()). If that is your problem, you need to modify your C program to unbuffered or line-buffered output instead of fully buffered output. Check out you setbuf() and setvbuf() man pages.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Can anyone please tell me what these lines do?
ls >& outfile
ls outfile 2>&1
Thanks. (1 Reply)
Discussion started by: trivektor
1 Replies
2. UNIX for Dummies Questions & Answers
Apologies for the trivial nature of this question but I cannot seem to get a simple re direct to a log file to work
Step 1
touch log.txt
at -f batch.sh now >> log.txt
I am trying to get the batch.sh contents into the log file
Manny Thanks (8 Replies)
Discussion started by: JohnCrump
8 Replies
3. UNIX for Dummies Questions & Answers
Suppose I have a file named a
When I write
cat a>a
The following error message is displayed
cat: a: input file is output file
and my file a is truncated to zero size.
Also the exit status of the last command is 1
Can someone tell me what actually happens when I do so? (1 Reply)
Discussion started by: aagajaba
1 Replies
4. Shell Programming and Scripting
I have a system stat command running which generates data after 5 sec or so. I pass this data to awk and do some calculation to present the data differently. Once done now I want to pass this data to file as and when generated but doesn't work..unless the first command completes successfully.... (6 Replies)
Discussion started by: learnscript
6 Replies
5. Shell Programming and Scripting
Hi Guys,
I have a script for which the stdout and stderr should be redirected to a log file, they should not be printed on the screen. Could you please let me know the procedure to redirect the output of the script to a log file. Thanks in advance.
--- Aditya (5 Replies)
Discussion started by: chaditya
5 Replies
6. Shell Programming and Scripting
Hi,
I wrote a small script whose function is to execute the postemsg provided if the threshold breaches.
I want to log this postemsg messages to a log file. But I am not able to do. Can someone throw some light on how to log the output of this. I am pasting a snippet of that code.
... (2 Replies)
Discussion started by: dbashyam
2 Replies
7. Shell Programming and Scripting
Hi,
I have an shell script program in a remote linux machine which will do some specific monitoring functionality. Also, have some C executables in that machine.
From a windows machine, I want to run the shell script program (If possible using java).
I tried with SSH for this. but, in... (1 Reply)
Discussion started by: ram.sj
1 Replies
8. Shell Programming and Scripting
OS : AIX 6.1
Shell : Korn
in the url
https://forums.oracle.com/forums/thread.jspa?threadID=361463&tstart=0
I came across a crontab entry example
00 23 * * 1,3,5 <complete shell script path> 1> <log file> 2>&1
From googling , I gathered that
0 - stdin
1 - stdout
2 - stderr
I... (5 Replies)
Discussion started by: polavan
5 Replies
9. Shell Programming and Scripting
Hi,
I have a peculiar issue w.r.t redirecting the command output to a file when using loop.
I am redirecting command output to same file in a series of if condition statements, but if one block of if condition statement writes the log to the file , the subsequent block of if condition... (7 Replies)
Discussion started by: ananan
7 Replies
10. Shell Programming and Scripting
Shell script logic
Hi
I have 2 input files like with file 1 content as (file1)
"BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt
File 2 contents as fle(2)
"BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt
I want to get... (22 Replies)
Discussion started by: pottic
22 Replies
LEARN ABOUT ULTRIX
setbuffer
setbuf(3s) setbuf(3s)
Name
setbuf, setbuffer, setlinebuf, setvbuf - assign buffering to a stream
Syntax
#include <stdio.h>
void setbuf(stream, buf)
FILE *stream;
char *buf;
void setbuffer(stream, buf, size)
FILE *stream;
char *buf;
int size;
void setlinebuf(stream)
FILE *stream;
int setvbuf(stream, buf, type, size)
FILE *stream;
char *buf;
int type; size_t size;
Description
The three types of buffering available are unbuffered, block buffered, and line buffered. When an output stream is unbuffered, information
appears on the destination file or terminal as soon as written; when it is block buffered many characters are saved up and written as a
block; when it is line buffered characters are saved up until a new line is encountered or input is read from stdin. The routine may be
used to force the block out early. Normally all files are block buffered. For further information, see A buffer is obtained from upon the
first or on the file. If the standard stream stdout refers to a terminal it is line buffered. The standard stream stderr is always
unbuffered.
The routine is used after a stream has been opened but before it is read or written. The character array buf is used instead of an auto-
matically allocated buffer. If buf is the constant pointer NULL, input/output will be completely unbuffered. A manifest constant BUFSIZ
tells how big an array is needed:
char buf[BUFSIZ];
The routine, an alternate form of is used after a stream has been opened but before it is read or written. The character array buf whose
size is determined by the size argument is used instead of an automatically allocated buffer. If buf is the constant pointer NULL,
input/output will be completely unbuffered.
The routine is used to change stdout or stderr from block buffered or unbuffered to line buffered. Unlike and it can be used at any time
that the file descriptor is active.
The routine may be used after a stream has been opened but before it is read or written. Type determines how stream will be buffered.
Legal values for type, defined in stdio.h are:
_IOFBF causes input/output to be fully buffered.
_IOLBF causes output to be line buffered; the buffer will be flushed when a new line is written, the buffer is full, or input is
requested.
_IONBF causes input/output to be completely unbuffered.
If buf is not the NULL pointer, the array it points to will be used for buffering, instead of an automatically allocated buffer. The size
specifies the size of the buffer to be used. The constant BUFSIZ in <stdio.h> is suggested as a good buffer size. If input/output is
unbuffered, buf and size are ignored.
By default, output to a terminal is line buffered and all other input/output is fully buffered.
A file can be changed from unbuffered or line buffered to block buffered by using For further information, see A file can be changed from
block buffered or line buffered to unbuffered by using followed by with a buffer argument of NULL.
Restrictions
The standard error stream should be line buffered by default.
The and functions are not portable to non 4.2 BSD versions of UNIX.
See Also
malloc(3), fclose(3s), fopen(3s), fread(3s), getc(3s), printf(3s), putc(3s), puts(3s).
setbuf(3s)