i dont see where in your version are u recording the amount of bytes written
It happens here:
'bytes' gets set to the number of bytes it was able to read, or 0 on EOF, see 'man 2 read'.
Quote:
this line reads
bytes=read(fd[0], pipeout, 512);
and it reads 512 bytes which i think is more than needed, how do i know the amount written from execl?
512 is just a maximum. It reads as much as it can up to the maximum and tells you where it stopped. You don't need to know the exact amount the child wrote -- you can read its output in as big or as small chunks as you want, though you don't always get what you asked for. Check the return value of read() to find out what you actually got.
You may not get the exact amount that the child wrote, by the way, since the pipe is also a buffer. The child could do ten writes of 10 bytes and you get one read of 100 bytes; up to a few kilobytes of data may pile up in the pipe before it actually lets anything through. It flushes when the writing end closes, which is why you're still able to get less (and why you need to close the writing end if you're not using it.)
Last edited by Corona688; 03-14-2011 at 06:59 PM..
hi all. thanks for looking
i am doing some homework.
one question is that when type
wc
and then how to tell the program that we have finished entering data?
also
why do some operating systems report 22 as the number of bytes in the file above, while others only 20?
thanks so much,... (1 Reply)
Hello,
I have problem in writing the shell script involving MPE command STREAM related to HP-UX and Unix command. Script is
sh "nlshCMD 'STREAM <job name1>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name2>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name3>' |... (0 Replies)
Hello,
I have problem in writing the shell script involving MPE command STREAM related to HP-UX and Unix command. Script is
sh "nlshCMD 'STREAM <job name1>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name2>' | 'SHOWJOB' | grep $HPJOBNUM"
sh "nlshCMD 'STREAM <job name3>' |... (1 Reply)
Hi ,
I have a piece of code ...wherein I need to assign the following ...
1) A command line argument to a variable
e.g origCount=ARGV
2) A unix command to a variable
e.g result=`wc -l testFile.txt`
in my awk shell script
When I do this :
print "origCount" origCount --> I get the... (0 Replies)
Hi,
Well my title isn't very clear I think. So to understand my goal:
I have a script "test1"
#!/bin/bash
xvkbd -text blabla
with xbindkeys, I bind F5 key in order it runs my test1 script
So when I press F5, test1 runs.
I'm under Emacs/Vi and I press F5 in order to have "blabla" be... (0 Replies)
I am going through the Unix Made Easy second edition book by John Muster. So far it's been very informative and I can tell it may be a bit out of date.
In one of the exercises it talks about the "sort" command and using it to sort column's of data etc. The "sort" command has changed a bit and... (1 Reply)
Hi all,
I wish to know whether Unix can access window's file in Unix's terminal?
Apart from that, how to copy files or share files between Window and Unix? I get to know of secure copy, however, my company's Unix does not support the feature of secure copy? Any other method for me to share/... (5 Replies)
I'm trying to write a bash script called YN that looks like the following
YN "Specify a question" "doThis" "doThat"
where "doThis" will be executed if the answer is "y", otherwise "doThat".
For example
YN "Do you want to list the file dog?" "ls -al dog" ""
Here's my attempt... (3 Replies)
Hi Folks,
I have a file name abc.xml in my windows machine at the location c:\ytr\abc.xml
which I want to place at the unix box machine inside cde directory.. at the following location that is /opt/app/cde/
now the credentials of unix box are
abc345 -->(dummyid)
ftyiu88--->(dummy passwd)
... (4 Replies)
Discussion started by: punpun66
4 Replies
LEARN ABOUT V7
rk
RK(4) Kernel Interfaces Manual RK(4)NAME
rk - RK-11/RK03 or RK05 disk
DESCRIPTION
Rk? refers to an entire disk as a single sequentially-addressed file. Its 256-word blocks are numbered 0 to 4871. Minor device numbers
are drive numbers on one controller.
The rk files discussed above access the disk via the system's normal buffering mechanism and may be read and written without regard to
physical disk records. There is also a `raw' interface which provides for direct transmission between the disk and the user's read or
write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when
many words are transmitted. The names of the raw RK files begin with rrk and end with a number which selects the same disk as the corre-
sponding rk file.
In raw I/O the buffer must begin on a word boundary, and counts should be a multiple of 512 bytes (a disk block). Likewise seek calls
should specify a multiple of 512 bytes.
FILES
/dev/rk?, /dev/rrk?
BUGS
In raw I/O read and write(2) truncate file offsets to 512-byte block boundaries, and write scribbles on the tail of incomplete blocks.
Thus, in programs that are likely to access raw devices, read, write and lseek(2) should always deal in 512-byte multiples.
RK(4)