07-07-2007
Quote:
Originally Posted by
frequency8
Anyhow, I was wondering if using dup2() in the following snippet was a legal close-on-exec move.
Eh?
0 == STDIN_FILENO
and
1 == STDOUT_FILENO
so what are you trying to achieve?
I would only call dup2 if the file descriptors were different.
Yes, if a file descriptor has the close on exec bit set, they will be closed when exec() is called, otherwise I'm not sure what you are getting at.
7 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a file that I want to grep and identify all of the illegal characters. I have a list of legal ascii characters
\11\12\40-\176,\0-\255
so i try a grep -v to exclude these but my syntax is not correct??
$ cat TRANS_20050613_00.DAT.ERROR | grep -v '\11\12\40-\176\0-\255'
grep:... (2 Replies)
Discussion started by: lesstjm
2 Replies
2. Programming
hi friends,
the following code works fine,but the question is
"is this a valid c".
i really have no idea.......
void func()
{
int x = 50;
{
int y;
y = x + 400;
printf("x = %d\n",x);
printf("y = %d\n",y);
}
} (2 Replies)
Discussion started by: mxms755
2 Replies
3. AIX
Hi pals
I manage nearly 200+ aix workstations.
I need to setup a legal disclaimer in all the workstations.
When the user do a interactive login in CDE the legal disclaimer should be displayed and once he accepts the same he should be able to login to system.
Can anybody suggest me as to... (0 Replies)
Discussion started by: sriram.s
0 Replies
4. Programming
can someone provide an example, where if the parent process quits for any reason, then the child process will also close? (3 Replies)
Discussion started by: omega666
3 Replies
5. Shell Programming and Scripting
I have the following bash script lines in a file named test.sh.
#!/bin/bash
#
# Write Date to cron.log
#
echo "Begin SSI Load $(date +%d%b%y_%T)"
#
# Get the latest rates file for processing.
#
d=$(ls -tr /rms/data/ssi | grep -v "processed" | tail -n 1)
filename=$d
export filename... (3 Replies)
Discussion started by: ginowms
3 Replies
6. Shell Programming and Scripting
Hi all,
I am trying to find files newer than a given file and them mv them to a new location.
So I far I have:
find . ! -newer <file_name> -exec ls -l {} \;
and
find . ! -newer <file_name> -exec mv /TEMP_LOCATION {} \;
find is not liking this.
Anyone know how to modify the last... (2 Replies)
Discussion started by: jonnyd
2 Replies
7. Programming
I get weird decimal digits when I run the program below.
int coe_amount;
cout << "How many coefficients exist in your term? ";
cin >> coe_amount;
float coefficient;
for (int count = 0; count < coe_amount; count ++)
{
... (4 Replies)
Discussion started by: DyslexicChciken
4 Replies
DUP(2) System Calls Manual DUP(2)
NAME
dup, dup2 - duplicate a descriptor
SYNOPSIS
newd = dup(oldd)
int newd, oldd;
dup2(oldd, newd)
int oldd, newd;
DESCRIPTION
Dup duplicates an existing object descriptor. The argument oldd is a small non-negative integer index in the per-process descriptor table.
The value must be less than the size of the table, which is returned by getdtablesize(2). The new descriptor returned by the call, newd,
is the lowest numbered descriptor that is not currently in use by the process.
The object referenced by the descriptor does not distinguish between references using oldd and newd in any way. Thus if newd and oldd are
duplicate references to an open file, read(2), write(2) and lseek(2) calls all move a single pointer into the file, and append mode, non-
blocking I/O and asynchronous I/O options are shared between the references. If a separate pointer into the file is desired, a different
object reference to the file must be obtained by issuing an additional open(2) call. The close-on-exec flag on the new file descriptor is
unset.
In the second form of the call, the value of newd desired is specified. If this descriptor is already in use, the descriptor is first
deallocated as if a close(2) call had been done first.
RETURN VALUE
The value -1 is returned if an error occurs in either call. The external variable errno indicates the cause of the error.
ERRORS
Dup and dup2 fail if:
[EBADF] Oldd or newd is not a valid active descriptor
[EMFILE] Too many descriptors are active.
SEE ALSO
accept(2), open(2), close(2), fcntl(2), pipe(2), socket(2), socketpair(2), getdtablesize(2)
4th Berkeley Distribution May 13, 1986 DUP(2)