01-07-2007
Hmm.... that seems to be right. It is the buffer flushing that is responsible for that. Try replacing the printf with a write(2) and you won't see this behaviour.
It is the exit(2) syscall that causes this (by flushing the buffers).
Here is a post from linuxforums.org that describes something similar to what you have here.
Last edited by blowtorch; 01-07-2007 at 07:56 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hey guys,
I'm given this bit of code, but, I'm having some problems executing it with the functions I've defined so far. I'm suppose to define the funtions "parse" and "execute." Parse splits the command in buf into individual arguments. It strips whitespace, replacing those it finds with NULLS... (3 Replies)
Discussion started by: richardspence2
3 Replies
2. Programming
Hello!
First of all, sorry for my English, I'm not a native English speaker.
I know, that printf() function uses write() function. "man cancellation" says that write() function is a cancellation point. But when I call pthread_cancel() for my thread, which calls printf() in infinite cycle, it... (4 Replies)
Discussion started by: prankster
4 Replies
3. UNIX for Advanced & Expert Users
I am trying to figure out why when i have the following code
int main( { printf("0\n"); fork(); printf("1\n"); exit(0);}
and type in the shell
a.out | cat
the output of this program is
0
1
0
1
instead of
0
1
1
does anyone know? (3 Replies)
Discussion started by: Phantom12345
3 Replies
4. Programming
i'm tring to make 2 processes each read from the same file but only one of them read the file.
FILE * fileptr1;
fileptr1 = fopen("file1.txt","rt");
pid2=fork();
while(1)
{
fscanf(fileptr1,"%s",temp1);
if(feof(fileptr1)==0)
{
printf("%i",getpid()); //id of current process ... (6 Replies)
Discussion started by: ddx08
6 Replies
5. Shell Programming and Scripting
can you take input from another command and do printf?
such as
awk '{print $2,$1}' | sort -k1,1 -k2,2 | printf "%-10s,%15s"
this does not work.. but there must be a way.. please help me..
thank you. (3 Replies)
Discussion started by: hankooknara
3 Replies
6. UNIX for Dummies Questions & Answers
Hi,
Does anyone know a easy way to printf $3,$4, ... all the way to the last field in the file? I will need to modify $1 and $2 and then printf modified $1 and $2 and the rest of the fields(which are not changed).
I know I can use NF as the total number of field.
Do I use a for next statement to... (4 Replies)
Discussion started by: whatisthis
4 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I am using below awk code to convert a csv file data into fixed file format.
awk 'BEGIN { FS = ","
fmt = "%10s%010d%10s%d%1d\n" }
NR>1 { printf fmt, $1, $2, $3, $4*100, $5 }' /data/mydata.csv > /data/fixed.dat
Data in mydata.csv
================... (1 Reply)
Discussion started by: kbmkris
1 Replies
8. Shell Programming and Scripting
Hi,
I am using below awk code to convert a csv file data into fixed file format.
awk 'BEGIN { FS = ","
fmt = "%10s%010d%10s%d%1d\n" }
NR>1 { printf fmt, $1, $2, $3, $4*100, $5 }' /data/mydata.csv > /data/fixed.dat
Data in mydata.csv
================... (2 Replies)
Discussion started by: kbmkris
2 Replies
9. Shell Programming and Scripting
Hi Experts,
Quick question:
I am trying to get the output with decimal and floating point but not working:
echo "20.03" | awk '{printf "%03d.2f\n" , $0 }'
020.2f
How to get the output as :
020.03
Thank you. (4 Replies)
Discussion started by: rveri
4 Replies
10. Shell Programming and Scripting
all,
i've been reading to try and get an abstract idea of the process effeciency of commands , sed, bash, perl, awk, find, grep, etc
which processes will spawn?, fork?, launch subshell?, etc and under what conditions?
how do you know which commands have the faster and better stdio... (2 Replies)
Discussion started by: f77hack
2 Replies
HCOPY(1) General Commands Manual HCOPY(1)
NAME
hcopy - copy files from or to an HFS volume
SYNOPSIS
hcopy [-m|-b|-t|-r|-a] source-path [...] target-path
DESCRIPTION
hcopy transfers files from an HFS volume to UNIX or vice versa. The named source files are copied to the named destination target, which
must be a directory if multiple files are to be copied.
Copies are performed using a translation mode, which must be one of:
-m MacBinary II: A popular format for binary file transfer. Both forks of the Macintosh file are preserved. This is the recommended
mode for transferring arbitrary Macintosh files.
-b BinHex: An alternative format for ASCII file transfer. Both forks of the Macintosh file are preserved.
-t Text: Performs end-of-line translation. Only the data fork of the Macintosh file is copied.
-r Raw Data: Performs no translation. Only the data fork of the Macintosh file is copied.
-a Automatic: A mode will be chosen automatically for each file based on a set of predefined heuristics.
If no mode is specified, -a is assumed.
If a UNIX source pathname is specified as a single dash (-), hcopy will copy from standard input to the HFS destination. Likewise, a single
dash used as a UNIX destination pathname will cause hcopy to copy the HFS source to standard output.
NOTES
Copied files may have their filenames altered during translation. For example, an appropriate file extension may be added or removed, and
certain other characters may also be transliterated.
The destination target must not be ambiguous; that is, it must be obvious whether the target is on the UNIX filesystem or on an HFS volume.
As a rule, HFS targets must contain at least one colon (:), usually as the beginning of a relative pathname or by itself to represent the
current working directory. To make a UNIX target unambiguous, either use an absolute pathname or precede a relative pathname with a dot and
slash (./).
SEE ALSO
hfsutils(1), hls(1), hattrib(1)
AUTHOR
Robert Leslie <rob@mars.org>
HFSUTILS
13-Jan-1997 HCOPY(1)