01-10-2009
I fail to see what you gain by doing this as a general idea.
In theory close the descriptors, then open them again directed somewhere else.
As a special case:
When you write a daemon all three of these descriptors are closed and then often reopened and directed to /dev/null. This means because the process runs "in the dark" it cannot directly write or read any of the standard descriptors. This prevents signals like SIGTTOU being sent to the process if it inadvertantly tries to write to stdout while running in detached mode.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
This is likely to be a dumb one.
How can I use sed to substitute string occurances having it read from an input file and write to this very same file ?
I have a file with lots of occurances of '2006', I want to change it to '2007', but I'd like these changes to be saved on the input file.
... (5 Replies)
Discussion started by: 435 Gavea
5 Replies
2. Shell Programming and Scripting
I have tried to show the file name whose size is greater than 200 byte in current directory.
Please help me.
ls -l | tr -s " " " " | cut -f 5,9 -d " " >out.txt
#set -a x `cat out.txt`
i=0
`cat out.txt` | while
do
read x
echo $x
#re=200
j=0
if }" < "200" ]
then
echo $j
j=`expr $j... (2 Replies)
Discussion started by: rinku
2 Replies
3. Shell Programming and Scripting
Is there any way to write to a text file with scripting? I need to write to a text file two lines of text for the amount of files in the current directory. (9 Replies)
Discussion started by: Fred Goldman
9 Replies
4. IP Networking
Hi,
We have smb client running on two of the linux boxes and smb server on another linux system. During a backup operation which uses smb, read of a file was allowed while write to the same file was going on.Also simultaneous writes to the same file were allowed.Following are the settings in the... (1 Reply)
Discussion started by: swatidas11
1 Replies
5. Shell Programming and Scripting
hi
i am quite new to shell scripting and need help in reading and writing in xml file
i have an xml file with format:
<main>
<store>
<name>ABC</name>
<flag>0</flag>
<size>123<size>
</store>
<store>
<name>DEF</name>
... (2 Replies)
Discussion started by: kichu
2 Replies
6. UNIX for Dummies Questions & Answers
hello world, i was looking for exemples for writing ans reading in / from a file, more exactly a text file; and how i'm only at very beagining, if anyone have some exemples very simple, very 'classic' , -with explications- and not hard to undersand . i was wondering that some of you are theacher... (6 Replies)
Discussion started by: unumai
6 Replies
7. Shell Programming and Scripting
I have got a file in following format:
AAAAAAA
BBBBBBBB
CCCCCCC
DDDDDDD
I am trying to read this file and out put it in following format:
AAAAAAA,BBBBBBB,CCCCCCC,DDDDDD
Preferred method is shell or Perl.
Any help appreciated. (11 Replies)
Discussion started by: Araoki
11 Replies
8. Shell Programming and Scripting
Hello Guys, How all are doing?
I have an issue in Unix and want help from all of you
I have a file in UNIX which it read by line by line , If at the end of line '0' is written the it should fetch that line into another file and change '0' to '1'
and If at the end of line '1' is written then it... (10 Replies)
Discussion started by: adisky123
10 Replies
9. Shell Programming and Scripting
Hi,
I am trying to do a write operation followed by a read operation on the same file through Perl, expecting the output produced by read to contain the new lines added, as follows:
#! /usr/bin/perl -w
open FH, "+< testfile" or die "$@";
print FH "New content added\n";
while (my $line =... (1 Reply)
Discussion started by: royalibrahim
1 Replies
10. Shell Programming and Scripting
What I would like to do is read each line in the atdinfile:
A sample atdinfile would look like this:
651
652
653
654
655
656
657
658
659
660
661
664
665
666
667
668 (5 Replies)
Discussion started by: woodson2
5 Replies
LEARN ABOUT OSX
dispatch_write
dispatch_read(3) BSD Library Functions Manual dispatch_read(3)
NAME
dispatch_read, dispatch_write -- asynchronously read from and write to file descriptors
SYNOPSIS
#include <dispatch/dispatch.h>
void
dispatch_read(int fd, size_t length, dispatch_queue_t queue, void (^handler)(dispatch_data_t data, int error));
void
dispatch_write(int fd, dispatch_data_t data, dispatch_queue_t queue, void (^handler)(dispatch_data_t data, int error)));
DESCRIPTION
The dispatch_read() and dispatch_write() functions asynchronously read from and write to POSIX file descriptors. They can be thought of as
asynchronous, callback-based versions of the fread() and fwrite() functions provided by the standard C library. They are convenience func-
tions based on the dispatch_io_read(3) and dispatch_io_write(3) functions, intended for simple one-shot read or write requests. Multiple
request on the same file desciptor are better handled with the full underlying dispatch I/O channel functions.
BEHAVIOR
The dispatch_read() function schedules an asynchronous read operation on the file descriptor fd. Once the file descriptor is readable, the
system will read as much data as is currently available, up to the specified length, starting at the current file pointer position. The given
handler block will be submitted to queue when the operation completes or an error occurs. The block will be passed a dispatch data object
with the result of the read operation. If an error occurred while reading from the file descriptor, the error parameter to the block will be
set to the appropriate POSIX error code and data will contain any data that could be read successfully. If the file pointer position is at
end-of-file, emtpy data and zero error will be passed to the handler block.
The dispatch_write() function schedules an asynchronous write operation on the file descriptor fd. The system will attempt to write the
entire contents of the provided data object to fd at the current file pointer position. The given handler block will be submitted to queue
when the operation completes or an error occurs. If the write operation completed successfully, the error parameter to the block will be set
to zero, otherwise it will be set to the appropriate POSIX error code and the data parameter will contain any data that could not be written.
CAVEATS
The data object passed to a handler block is released by the system when the block returns. If data is needed outside of the handler block,
it must concatenate, copy, or retain it.
Once an asynchronous read or write operation has been submitted on a file descriptor fd, the system takes control of that file descriptor
until the handler block is executed. During this time the application must not manipulate fd directly, in particular it is only safe to close
fd from the handler block (or after it has returned).
If multiple asynchronous read or write operations are submitted to the same file descriptor, they will be performed in order, but their han-
dlers will only be submitted once all operations have completed and control over the file descriptor has been relinquished. For details on
this and on the interaction with dispatch I/O channels created from the same file descriptor, see FILEDESCRIPTOR OWNERSHIP in
dispatch_io_create(3).
SEE ALSO
dispatch(3), dispatch_data_create(3), dispatch_io_create(3), dispatch_io_read(3), fread(3)
Darwin December 1, 2010 Darwin