12-13-2010
You should open the file with open(), not fopen(), since dup2() doesn't take file pointers. Neither does close(), for that matter. I'm surprised it didn't crash, and the compiler almost certainly warned you about this.
Why are you duplicating your output file over standard input?
Why are you duplicating STDIN to STDOUT?
Why are you duplicating STDIN to STDERR?
There's no magic to making it work, it's a matter of putting the files you want in the numbers you want. in your case, I think, you want the output file duplicated over stdout.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi guys;
I want to show what am I doing on a terminal into another. I did something close but its not working really good.
Example: cat /dev/pts/12 >/dev/pts/13
where 12 is my terminal and 13 its the other terminal.
This is usefull for me to share my small unix knowledge to other people... (4 Replies)
Discussion started by: piltrafa
4 Replies
2. Shell Programming and Scripting
ssh $USR@$host /bin/bash <<EOF
awk ' BEGIN{f=0} !f { s=$0; sub(/,.+/, "", s); gsub(//, " ", s); t=(systime()-mktime(s)); if(t<=14400) f=1 } f ' /home/error.log >> error.txt
EOFWe are trying to connect to a remote server through ssh and read values from error.log within last 4 hours.However, the... (3 Replies)
Discussion started by: Deepthz
3 Replies
3. Solaris
Hi
Can i ask?
I had multiple solaris workstation running and some local users using it. Is it possible to bind to the local user terminal or console he's using as if like the user well type and I can see it and what my typing in the local user see it also.
Is it possible..
Thanks. (3 Replies)
Discussion started by: jao_madn
3 Replies
4. Shell Programming and Scripting
Hi,
I want to save the whole Output of the terminal in a file. I dont want to redirect a single command to a file (ls -l > test.txt), I want to redirect the whole last 40 lines into a file.
Maybe i can read out the terminal while working with it, but i cant find a way to save the whole... (2 Replies)
Discussion started by: niratschi
2 Replies
5. Slackware
Hello everybody,
I'm testing some aspects of X Terminal implementation and it's going great. I can use remote applications on my local slow workstation at remote's processor speed by redirecting the remote DISPLAY variable to "my_local_ip:0.0"; but i'm having troubles to get remote audio and... (2 Replies)
Discussion started by: semash!
2 Replies
6. UNIX for Dummies Questions & Answers
Is it possible to execute a pbpaste command to an application or current application in focus?
Thanks (0 Replies)
Discussion started by: fhill2
0 Replies
7. Shell Programming and Scripting
When ever i started my terminal,Every time I have to change the directory like "cd user/documents/ravi/folder2/folder3" Without typing this entire command every time ,I placed "alias c='cd user/documents/ravi/folder2/folder3'" in .bash_profile file. so that i can able to execute command 'c'... (6 Replies)
Discussion started by: Raviteja saddal
6 Replies
8. IP Networking
Im using a X-Terminal in my windows pc to connect to a Linux server.
Is there a way to know my local IP address in my x-terminal console?
Here are few commands which didnt help me:
ss_cc@MGTS5026-13sh1:~> finger
Login Name Tty Idle Login Time Where
loadhlr ... (6 Replies)
Discussion started by: Arun_Linux
6 Replies
9. Shell Programming and Scripting
I have been having an extremely annoying problem. For the record, I am relatively new at this. I've only been working with unix-based OS's for roughly two years, mostly Xubuntu and some Kali. I am pretty familiar with the BASH language, as that's the default shell for debian. Now, I've made this... (16 Replies)
Discussion started by: Huitzilopochtli
16 Replies
10. Shell Programming and Scripting
when i do something like this:
bona=$(echo hi2 > /dev/pts/1 ; printf '%s\n' "" | sed '/^$/d')
i get:
hi2
and the $bona variable is empty, when I run:
echo ${bona}
i get the result "hi2" outside of the variable. I want it stored in the bona variable with nothing outputted to the... (6 Replies)
Discussion started by: SkySmart
6 Replies
STDIN(P) POSIX Programmer's Manual STDIN(P)
NAME
stderr, stdin, stdout - standard I/O streams
SYNOPSIS
#include <stdio.h>
extern FILE *stderr, *stdin, *stdout;
DESCRIPTION
A file with associated buffering is called a stream and is declared to be a pointer to a defined type FILE. The fopen() function shall cre-
ate certain descriptive data for a stream and return a pointer to designate the stream in all further transactions. Normally, there are
three open streams with constant pointers declared in the <stdio.h> header and associated with the standard open files.
At program start-up, three streams shall be predefined and need not be opened explicitly: standard input (for reading conventional input),
standard output (for writing conventional output), and standard error (for writing diagnostic output). When opened, the standard error
stream is not fully buffered; the standard input and standard output streams are fully buffered if and only if the stream can be determined
not to refer to an interactive device.
The following symbolic values in <unistd.h> define the file descriptors that shall be associated with the C-language stdin, stdout, and
stderr when the application is started:
STDIN_FILENO
Standard input value, stdin. Its value is 0.
STDOUT_FILENO
Standard output value, stdout. Its value is 1.
STDERR_FILENO
Standard error value, stderr. Its value is 2.
The stderr stream is expected to be open for reading and writing.
RETURN VALUE
None.
ERRORS
No errors are defined.
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
fclose() , feof() , ferror() , fileno() , fopen() , fread() , fseek() , getc() , gets() , popen() , printf() , putc() , puts() , read() ,
scanf() , setbuf() , setvbuf() , tmpfile() , ungetc() , vprintf() , the Base Definitions volume of IEEE Std 1003.1-2001, <stdio.h>,
<unistd.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technol-
ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE
and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained
online at http://www.opengroup.org/unix/online.html .
IEEE
/The Open Group 2003 STDIN(P)